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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 04.09.2008, 22:44   #1
Зеленый
 
Регистрация: 04.09.2008
Сообщений: 6
По умолчанию В чем ошибка? (исходник прилагается)

Здравствуйте! Помогите советом пожалуйста: при компиляции ошибка: END не проинициализирован, суть такова - вводится список имен, которые затем должны перестроиться в алфавитном порядке.



#include<stdio.h>
#include<conio.h>
#include<string.h>
void main()
{
int i, n=0;
int item;
char x[10][12];
char temp[12];
clrscr();
printf("\n Vvodite kazdii strokovii element v otdelnoi stroke\n\n");
printf("\n Dlja zavershenija vvoda naberite 'END'\n\n");
do
{
printf("Stroka %d:",n+1);
scanf("%s",x[n]);
}
while(strcmp(x[n++],END));
n=n+1;
for(i=item+1;i<n-1;++item)
{
for(i=item+1;i<n;++i)
{
if (strcmp(x[item], x[i]) > 0);
{
strcpy(temp, x[item]);
strcpy(x[item],x[i]);
strcpy(x[i],temp);
}
}

}
for(i=0;i<n;++i)
{
printf("\n Stroka nomer%d eto %s",i+1,x[i]);
}
}
Зеленый вне форума Ответить с цитированием
Старый 04.09.2008, 22:48   #2
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,520
По умолчанию

может надо END в кавычки взять?
pu4koff вне форума Ответить с цитированием
Старый 05.09.2008, 15:19   #3
oleg kutkov
Unix C++ developer
Форумчанин
 
Аватар для oleg kutkov
 
Регистрация: 16.04.2007
Сообщений: 651
По умолчанию

В этой строчке:

Код:
printf("\n Dlja zavershenija vvoda naberite 'END'\n\n");
перед апострофами вокруг END нужно поставить беклсеши:
Код:
printf("\n Dlja zavershenija vvoda naberite \'END\'\n\n");
и вот здесь:
Код:
while(strcmp(x[n++],END));
END нужно взять в двойные кавычки:
Код:
while(strcmp(x[n++],"END"));

Последний раз редактировалось oleg kutkov; 05.09.2008 в 15:41.
oleg kutkov вне форума Ответить с цитированием
Старый 05.09.2008, 21:52   #4
Зеленый
 
Регистрация: 04.09.2008
Сообщений: 6
По умолчанию

Не помогает, компилятор вроде-бы и не ругается, когда я жму Alt+F9, но при попытке скомпилировать закрывается аварийно, пишет что мол недопустимая операция.
Зеленый вне форума Ответить с цитированием
Старый 05.09.2008, 22:05   #5
Valter
Пользователь
 
Регистрация: 29.03.2008
Сообщений: 51
По умолчанию

scanf("%s",x[n])
1) x заявлен как 2-х мерный массив, здесь же только 1 измерение указано.
Аналогично везде ниже этой строчки.

2) while(strcmp(x[n++],END));
Где описывается END?
Valter вне форума Ответить с цитированием
Старый 06.09.2008, 16:16   #6
oleg kutkov
Unix C++ developer
Форумчанин
 
Аватар для oleg kutkov
 
Регистрация: 16.04.2007
Сообщений: 651
По умолчанию

END - это строка, с которой сравнивается строка, введенная пользователем, поэтому END следует взять в двойные кавычки.
oleg kutkov вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как подключиться к компьютеру (схема прилагается) Air Софт 6 08.05.2008 16:01
Исходник xakkkkker Общие вопросы Delphi 4 27.03.2008 16:30
Исходник icq! Marsik Свободное общение 11 06.03.2008 19:38
Подскажите простую вещь, пример прилагается redcarpet HTML и CSS 9 29.01.2008 03:07