С Новым годом! Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.67/18: Рейтинг темы: голосов - 18, средняя оценка - 4.67
0 / 0 / 1
Регистрация: 24.03.2010
Сообщений: 46
1

Сортировать текст файла в алфавитном порядке и вывести результат в другой файл

24.05.2010, 23:13. Показов 3417. Ответов 22
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Уважаемые эксперты написал программу а она не запускается. Возможно из-за того что я напортачил в коде, сама программа должна сортировать текст файла в алфавитном порядке и вывести результат в другой файл. Вот сам исходник:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#include<stdio.h>
#include<string.h>
#include<conio.h>
 char String[300];
 int Words[150];
 int Number;
 
int main()
    {
      int i,j,temp;
      int eoword;
    FILE *in,*out;
      in=fopen("MY_TEXT.txt","r");
      out=fopen("NEW_TEXT.txt","w");
      while((String[i]=fgetc(in))!=EOF)
       {
        fprintf(in,"%s");
        getch();
       }
        for (Number=0,eoword=1,i=0;String[i];i++)
        {
         if (String[i]==' ')
           {
             String[i]=0;
             eoword=1;
           }
          else
              if (eoword)
                {
                 Words[Number++]=i;
                 eoword=0;
                }
        }
       for (j=Number-1; j>0; j--)
          for(i=0; i<j; i++)
            if (strcmp(&String[Words[i]], &String[Words[i+1]])>0)
             {
              temp=Words[i];
              Words[i]=Words[i+1];
              Words[i+1]=temp;
             }
        for (i=0; i<Number;i++)
          printf("%s\n", &String[Words[i]]);
       fclose(in);
        fputs(String, out);
        fclose(out);
   return 0;
    }
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.05.2010, 23:13
Ответы с готовыми решениями:

Прочесть текст из файла, найти количество пробелов в нем, и вывести результат в другой текстовый файл
С помощью программы Блокнот создать маленький текст. Написать программу, которая считает текст из...

Вывести частотный словарь одного файла в другой в алфавитном порядке
Господа, нужна ваша помощь: вопрос такой, программа выводит частотный словарь одного файла в другой...

Вывести в другой файл в алфавитном порядке все слова, встречающиеся в тексте
Дан файл, содержащий текст. Вывести в другой файл в алфавитном порядке все слова, встречающиеся в...

Переписать в алфавитном порядке все слова из заданного файла, имеющие длину n, в другой файл.
Разобрать программу &quot;Сортировка по алфавиту&quot;.Дан текстовый файл. Переписать в алфавитном порядке...

22
7 / 8 / 3
Регистрация: 23.05.2010
Сообщений: 87
24.05.2010, 23:52 2
C++
1
2
3
char String[300];
 int Words[150];
 int Number;
должны быть обьявлены в main(), а не вне его
0
0 / 0 / 1
Регистрация: 24.03.2010
Сообщений: 46
25.05.2010, 00:16  [ТС] 3
переставил а она все равно не запускается(((
0
Эксперт JavaЭксперт С++
8384 / 3617 / 419
Регистрация: 03.07.2009
Сообщений: 10,709
25.05.2010, 00:20 4
Zeleniy, в каком смысле не запускается? Какая IDE?
Sura, могут быть объявлены и вне main, тогда это будут глобальные переменные, но это не есть хорошо
0
0 / 0 / 1
Регистрация: 24.03.2010
Сообщений: 46
25.05.2010, 00:24  [ТС] 5
M128K145, После нажатия ктрл+ф9 ниче не происходит
0
Эксперт JavaЭксперт С++
8384 / 3617 / 419
Регистрация: 03.07.2009
Сообщений: 10,709
25.05.2010, 00:31 6
Zeleniy, даже консолька не открывается?
0
7 / 8 / 3
Регистрация: 23.05.2010
Сообщений: 87
25.05.2010, 00:32 7
она запускается, но тут же закрывается,ищите логическую ошибку
M128K145, ах,да, извините!
0
0 / 0 / 1
Регистрация: 24.03.2010
Сообщений: 46
25.05.2010, 00:37  [ТС] 8
при компилировании он пишет warning в строке
C
1
while((String[i]=fgetc(in))!=EOF)
0
Эксперт JavaЭксперт С++
8384 / 3617 / 419
Регистрация: 03.07.2009
Сообщений: 10,709
25.05.2010, 00:37 9
Замените и попробуйте
C
1
2
3
4
5
6
      while((String[i]=fgetc(in))!=EOF)
       {
        fprintf(in,"%s");
        printf("press enter\n");
        getch();
       }
0
0 / 0 / 1
Регистрация: 24.03.2010
Сообщений: 46
25.05.2010, 00:41  [ТС] 10
Не помогло(((
0
7 / 8 / 3
Регистрация: 23.05.2010
Сообщений: 87
25.05.2010, 00:48 11
а файл MY_TEXT.txt, который Вы открываете для чтения существует?
0
Эксперт JavaЭксперт С++
8384 / 3617 / 419
Регистрация: 03.07.2009
Сообщений: 10,709
25.05.2010, 00:49 12
Zeleniy, у вас значение i не проинициализировано
0
0 / 0 / 1
Регистрация: 24.03.2010
Сообщений: 46
25.05.2010, 00:56  [ТС] 13
Sura я может быть и нубок в этом деле, но не на столько же

Добавлено через 32 секунды
M128K145а что необходимо сделать???
0
Эксперт JavaЭксперт С++
8384 / 3617 / 419
Регистрация: 03.07.2009
Сообщений: 10,709
25.05.2010, 00:59 14
до цикла присвоить ему 0 и внутри цикла увеличивать на 1
0
0 / 0 / 1
Регистрация: 24.03.2010
Сообщений: 46
25.05.2010, 01:07  [ТС] 15
сделал, теперь компилятор не ругается ни на что, а вот программа все равно не запускается
0
7 / 8 / 3
Регистрация: 23.05.2010
Сообщений: 87
25.05.2010, 01:12 16
нет, ну все может быть, я так на вся случай спросила,а вдруг, с кем не бывает(у меня часто бывает XD)))))
0
0 / 0 / 1
Регистрация: 24.03.2010
Сообщений: 46
25.05.2010, 01:16  [ТС] 17
)))
0
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
25.05.2010, 04:45 18
C
1
fprintf(in,"%s");
нужно строку какую-то

C
1
fprintf(in, "%s", str);
Добавлено через 2 минуты
перед return 0 поставь getchar() ещё
0
0 / 0 / 1
Регистрация: 24.03.2010
Сообщений: 46
25.05.2010, 10:14  [ТС] 19
accept сделал, теперь наконец то после нажатия ктрл+ф9 хоть черный экран появляется и все
0
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
25.05.2010, 10:37 20
C
1
2
3
4
5
     while((String[i]=fgetc(in))!=EOF)
       {
        fprintf(in,"%s");
        getch();
       }
в чём смысл данного цикла ? (если бы он был правильный)
0
25.05.2010, 10:37
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.05.2010, 10:37
Помогаю со студенческими работами здесь

Программа должна сортировать данные в алфавитном порядке и записывать их в файл
2.Напишите программу, которая запрашивает у пользователя имя, фамилию, дату рождения, номер группы....

Создать файл чисел и вывести эти числа из файла в обратном порядке в другой файл и на экран
Создать файл чисел и вывести эти числа из файла в обратном порядке в другой файл и на экран. Как...

В текстовом файле находится текст на англиском, нужно подсчитать количество БУКВ и вывести результат в другой файл
Товарищи, помогите! В txt файле находится текст на англиском, нужно подсчитать количество БУКВ и...

Вывести текст из файла в другой файл
Есть файлы с кодом, самым разным. И в коде есть текст... Так вот, как выдрать текст из кавычек......


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru