Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.11.2011, 11:43   #1
Demit
Пользователь
 
Регистрация: 03.11.2011
Сообщений: 13
По умолчанию строки

помогите решить на языке Си:
Задана строка, содержащая целые числа(максимум 15 чисел). Упорядочить целые числа в строке по возрастанию.
Demit вне форума Ответить с цитированием
Старый 03.11.2011, 11:49   #2
Abstraction
Старожил
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
По умолчанию

Какие алгоритмы сортировки Вы знаете?
Abstraction вне форума Ответить с цитированием
Старый 03.11.2011, 12:00   #3
Demit
Пользователь
 
Регистрация: 03.11.2011
Сообщений: 13
По умолчанию

вот программа, написанная мною! Но она почему-то не идёт на языке Си! Помогите найти ошибку!
#pragma argsused
#include <stdio.h>
void sort1(unsigned int m,
unsigned int *b, unsigned int *e){
unsigned int *b1, *e1, m1;
b1=b;
e1=e;
while(b1<e1){
if (*b1&m)
if (*e1&m) e1--;
Demit вне форума Ответить с цитированием
Старый 03.11.2011, 12:03   #4
Demit
Пользователь
 
Регистрация: 03.11.2011
Сообщений: 13
По умолчанию

вот программа, написанная мною! Но она почему-то не идет на языке Си:
#pragma argsused
#include <stdio.h>
int main(int argc, char* argv[])
{
int i,j,str[15];
for (i=0;i<sizeof str/sizeof(int);i++)
scanf("%d",str+i);
for (i=0;i<sizeof str/sizeof(int)-1;i++)
for (j=i;i<sizeof str/sizeof(int);i++)
if (str[j]<str[i]){
int w;
w=str[i];
str[i]=str[j];
str[j]=w;
}
for(i=0;i<sizeof str/sizeof(int);i++)
printf("%d",str[i]);
getch();
}
Demit вне форума Ответить с цитированием
Старый 03.11.2011, 12:07   #5
Abstraction
Старожил
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
По умолчанию

"Не идёт" - это не компилируется? Редкий компилятор говорит "пошёл нафиг" без объяснения причин. Обычно есть сообщение об ошибке, и даже с указанием строки, на которой ошибка произошла.
Кроме того, лично я затрудняюсь понять приведённый (в третьем сообщении) код - нельзя ли его привести теперь уже заключённым в тег CODE и с комментариями?

Upd: Э-э-э, а что было в предыдущем сообщении?

Последний раз редактировалось Abstraction; 03.11.2011 в 12:09. Причина: появилось ещё одно сообщение от автора
Abstraction вне форума Ответить с цитированием
Старый 03.11.2011, 12:14   #6
Demit
Пользователь
 
Регистрация: 03.11.2011
Сообщений: 13
По умолчанию

не смотрите сообщение 3!
Программа в сообщении 4 верная, но выводит не такой результат!
Вот программа:
#pragma argsused
#include <stdio.h>
int main(int argc, char* argv[])
{
int i,j,str[15];
for (i=0;i<sizeof str/sizeof(int);i++)
scanf("%d",str+i);
for (i=0;i<sizeof str/sizeof(int)-1;i++)
for (j=i;i<sizeof str/sizeof(int);i++)
if (str[j]<str[i]){
int w;
w=str[i];
str[i]=str[j];
str[j]=w;
}
for(i=0;i<sizeof str/sizeof(int);i++)
printf("%d",str[i]);
getch();
}
Demit вне форума Ответить с цитированием
Старый 03.11.2011, 13:00   #7
Abstraction
Старожил
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
По умолчанию

0) Тег CODE.

1) Комментарии.

2) Если лень делать первое и второе, то просто проследите внимательно, где у Вас в коде меняется j.
Abstraction вне форума Ответить с цитированием
Старый 03.11.2011, 13:01   #8
An1ka
C++,DirectX/OpenGL
Форумчанин
 
Регистрация: 09.01.2011
Сообщений: 422
По умолчанию

Цитата:
Сообщение от Demit Посмотреть сообщение
for (j=i;i<sizeof str/sizeof(int);i++)
Код:
 for ( j = i+1; j<sizeof str/sizeof(int); j++)
Ну printf с пробелом между числами:
Код:
printf("%d ",str[i]);

Последний раз редактировалось An1ka; 03.11.2011 в 13:04.
An1ka вне форума Ответить с цитированием
Старый 03.11.2011, 16:53   #9
Demit
Пользователь
 
Регистрация: 03.11.2011
Сообщений: 13
По умолчанию

программа так тоже не работает!
Demit вне форума Ответить с цитированием
Старый 03.11.2011, 17:06   #10
Abstraction
Старожил
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
По умолчанию

Сделайте функцию "вывод массива" и дёргайте её на каждой итерации внешнего цикла сортировки, например. Ну, или отладчик в зубы.
Abstraction вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сделать в гриде строки выше, чтобы не растягивать строки до бесконечности kris__tina БД в Delphi 1 09.06.2011 15:31
Даны строки S и S0. Удалить из строки S все подстроки, совпадающие с S0 . Если совпадающих подстрок нет, Шпунюся Помощь студентам 1 16.12.2010 21:02
Создание пустой строки и копирование в неё содержимое предыдущей строки Gvaridos Microsoft Office Excel 2 29.10.2010 13:33
Определять максимальную длину той части строки s, которая не содержит символы из строки s1. Александе еть я Общие вопросы C/C++ 5 13.04.2010 20:54
Перенести символа с начала строки в место перед запятой этой же строки. Zhiltsov Microsoft Office Excel 4 05.06.2009 13:10