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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 10.12.2011, 10:30   #1
Epic_Lamer
Новичок
Джуниор
 
Регистрация: 10.12.2011
Сообщений: 3
Восклицание Чтение строки с файла, разбиение на лексемы и вывод по алфавиту(Си)

Долго мучился, и набросал вот такой код:
Код:
#include<stdio.h>
#include<string.h>
#include<conio.h>
#include<stdlib.h>
#include<locale.h>
#include<ctype.h>
#define CHARS ".,?\" \n"
int main(void)
{ 

	FILE *fo;
	char line[80];
	char *word[20],words[20][20];
	int i,n,count,j;
	char S1[15]; //Temp
	setlocale(LC_ALL,"Russian");
	fo=fopen("I:\\Хатин Константин\\Задания на аттестацию\\str.txt","r");//Открываем файл
	fgets(line,sizeof(line),fo);      //Считываем с файла строку
	printf("Строка состоит из слов:\n");
	*word=strtok(line, CHARS);    //Считываем первое слово
	strcpy(words[0],word);    //Копируем в массив слово
	i=0;
	while (word != NULL)             //Заполняем массив словами из строки Лайн
	{
		*word=strtok(NULL, CHARS);
		strcpy(words[i++],word);
		printf("\"%s\"\n", words[i]);
	}
	//Ошибка где-то в (копировании) строк
	//Сортирова по алфавиту
	for (n=0;n<i;n++)
	{
		for (j=0;j<i-n;j++)
		{
			if (strcmp(words[j],words[j+1])>0)
			{
				strcpy (S1,words[j]);
				strcpy (words[j],words[j+1]);
				strcpy (words[j+1],S1);
			}
		}
	}
	//Вывод слов уже сортированных по алфавиту
	for (n=0;n<5;puts(words[n]),n++);
	getch();
}
При деление строки на лексемы получается сплошная кракозябра. Помогите пожалуйста найти ошибку!
Epic_Lamer вне форума Ответить с цитированием
Старый 10.12.2011, 11:59   #2
Mandrivnyk
Software Developer
Участник клуба
 
Аватар для Mandrivnyk
 
Регистрация: 01.03.2011
Сообщений: 1,098
По умолчанию

Это только с кириллицей или с латиницей тоже?
Болтовня ничего не стоит. Покажите мне код. (c) Linus Torvalds
Помог ответ? -- Поставьте отзыв.
Выражения особой благодарности в рублевом эквиваленте отправлять сюда --> R269634919062
Mandrivnyk вне форума Ответить с цитированием
Старый 10.12.2011, 12:16   #3
Epic_Lamer
Новичок
Джуниор
 
Регистрация: 10.12.2011
Сообщений: 3
По умолчанию

Да, и с кириллицей, и с латиницей.
Epic_Lamer вне форума Ответить с цитированием
Старый 10.12.2011, 12:21   #4
Epic_Lamer
Новичок
Джуниор
 
Регистрация: 10.12.2011
Сообщений: 3
По умолчанию

Кстати при работе порограммы выводится "ММММММММММ" и так много раз. Что это може значить?
Epic_Lamer вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не проходит чтение и вывод на экран из файла. Анастасия1 Паскаль, Turbo Pascal, PascalABC.NET 4 14.09.2011 20:35
СИ чтение чисел из файла, сортировка и вывод Millen Помощь студентам 1 07.03.2011 02:26
if и чтение+вывод из файла .txt webber9989 PHP 4 24.08.2010 22:13
Чтение и вывод ini-файла JoLan Общие вопросы Delphi 5 27.07.2010 21:32
Разбивка строки на лексемы Proger_1 Общие вопросы C/C++ 3 29.03.2010 20:38