Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
supra
0 / 0 / 0
Регистрация: 28.06.2011
Сообщений: 10
#1

Отсортировать слова в файле по алфавиту и сохранить в файл - C++

28.06.2011, 07:45. Просмотров 1163. Ответов 2
Метки нет (Все метки)

дан текстовый файл необходимо отсортировать слова по алфавиту и записать в файл
Добавлено через 1 минуту
помогите, выадет 4 ошибки не знаю как бороться с ними
:\практики по программированию\идз\idz\1.cpp(77) : error C2062: type 'void' unexpected
G:\практики по программированию\идз\idz\1.cpp(78) : error C2143: syntax error : missing ';' before '{'
G:\практики по программированию\идз\idz\1.cpp(118) : error C2601: 'main' : local function definitions are illegal
G:\практики по программированию\идз\idz\1.cpp(130) : fatal error C1004: unexpected end of file found

Добавлено через 8 минут
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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
/* подклчение библиотек нужных для работы программы */
 #include <stdio.h>
 /* подключение библиотеки для функций getch */
 #include "conio.h"
 #include "windows.h"
 #include <iostream>
 #define MSS 50
 /* ключевок слово для определеня типа */
 char input[MSS] = "";
 typedef
 /* определаяем структуру book */
 struct book
 {
 /* название строки*/
 char name[MSS];
 /* указатель на следующий элемент структуры */
 struct book *next;
 }
 BOOK;
 
 /* СОРТИРОВКА */
 BOOK * sort(BOOK *f, int b)
 {
 /* временные указатели */
 BOOK *t = f, *t1, *p;
 /* число перестановок */
 int count;
 int r = 0;
 /* исключаем случаи, которые сорировать не надо */
 if (f == NULL)
 {
 printf("Сортировать нечего!\n");
 return NULL;
 }
 if (f->next == NULL) 
 {
 printf("Сортировать нечего!\n");
 return f;
 }
 
 /* если число перестановок равно 0, то все элементы на месте */
 do 
 {
 count = 0;
 t = f;
 while (t->next != NULL)
 { 
 if (b == 10)
 {
 r = strcmpi(t->name, t->next->name);
 if (r == 1)
 {
 /* меняем местами */
 if (t == f)
 {
 f = t->next;
 t->next = t->next->next;
 f->next = t;
 } else {
 t1 = t->next;
 t->next = t->next->next;
 t1->next = t;
 p->next = t1;
 }
 count++;
 break;
 }
 p = t;
 t = t->next;
 }
 } while (count > 0);
 printf("Сортировка выполнена!\n");
 return f;
 }
 
 /* ФУНКЦИЯ СОХРАНЕНИЯ РЕЗУЛЬТАТА ПОСЛЕ СОРТИРОВКИ*/
 void save(BOOK *f, int b)
 {
 /* временный указатель */
 BOOK *t;
 /* указатель на файл для работы */
 FILE *fout;
 
 if (b == 1)
 {
 input[0] = '\x0';
 }
 
 /* если текущего файла нет, спросим имя файла */
 if (input[0] == '\x0')
 {
 printf("Enter name of file for save: ");
 gets(input);
 }
 
 /* создаем файл */
 if ((fout = fopen(input, "w")) == NULL)
 {
 /* ошибка открытия файла */
 printf("Error open file [%s] for writing.\n", input);
 return f;
 }
 
 /* цикл по всем элементам */
 for (t = f; t != NULL; t = t->next)
 {
 /* выводим очередную строчку в файл */
 fprintf(fout, "%s\n", t->name);
 }
 /* закроем файл */
 fclose(fout);
 
 printf("Save in file [%s] finished!\n", input);
 }
 
 /*главная функция*/
 void main(void)
 {
 /*указатель на файл с которым будем работать*/
 FILE *f;
 /*счетчик*/
 int i;
 if (!(f= fopen("test.txt", "r"))) {
 /* файл не открыт */
 /* выведем сообшение */
 printf(" файл test.txt не удалось открыть для записи.\n");
 /*Завершим программу*/
 }
 }
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.06.2011, 07:45
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Отсортировать слова в файле по алфавиту и сохранить в файл (C++):

Отсортировать все слова из текстового файла по алфавиту и вывести результат в новый файл - C++
Есть файл, в котором набрано некоторый текст. Написать программу, которая может отсортировать все слова из него по алфавиту и вывести...

В строку через пробел вводятся слова. Отсортировать введенные слова по алфавиту. Результат вывести в виде столбца. - C++
В строку через пробел вводятся слова. Отсортировать введенные слова по алфавиту. Результат вывести в виде столбца.

Отсортировать слова по алфавиту - C++
Задача: Есть строка из слов разделенных запятыми, в конце строки точка. Нужно отсортировать слова по алфавиту средствами С++. Подскажите,...

Отсортировать слова в предложении по алфавиту - C++
Дано предложение с нескольких слов. Отсортировать слова в предложении по алфавиту

Отсортировать слова в строке по алфавиту - C++
Отсортировать слова в строке по алфавиту. Нужно решить используя функции.

Отсортировать слова в строке по алфавиту - C++
Здравствуйте!Мне задали в универе вот такую задачу: &quot;Отсортировать слова в строке по алфавиту&quot; Думал над ней долго и не могу понять...

2
JeyKip
53 / 45 / 2
Регистрация: 23.06.2011
Сообщений: 122
28.06.2011, 10:06 #2
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
у тебя функция void возвращает значение (return *f)...я закомментировал эту строчку...
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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
/* подклчение библиотек нужных для работы программы */
 #include <stdio.h>
 /* подключение библиотеки для функций getch */
 #include "conio.h"
 #include "windows.h"
 #include <iostream>
 #define MSS 50
 /* ключевок слово для определеня типа */
 char input[MSS] = "";
 typedef
 /* определаяем структуру book */
 struct book
 {
 /* название строки*/
 char name[MSS];
 /* указатель на следующий элемент структуры */
 struct book *next;
 }
 BOOK;
 
 /* СОРТИРОВКА */
 BOOK * sort(BOOK *f, int b)
 {
 /* временные указатели */
 BOOK *t = f, *t1, *p;
 /* число перестановок */
 int count;
 int r = 0;
 /* исключаем случаи, которые сорировать не надо */
 if (f == NULL)
 {
 printf("Сортировать нечего!\n");
 return NULL;
 }
 if (f->next == NULL) 
 {
 printf("Сортировать нечего!\n");
 return f;
 }
 
 /* если число перестановок равно 0, то все элементы на месте */
 do 
 {
 count = 0;
 t = f;
 while (t->next != NULL)
 { 
 if (b == 10)
 {
 r = strcmpi(t->name, t->next->name);
 if (r == 1)
 {
 /* меняем местами */
 if (t == f)
 {
 f = t->next;
 t->next = t->next->next;
 f->next = t;
 } else {
 t1 = t->next;
 t->next = t->next->next;
 t1->next = t;
 p->next = t1;
 }
 count++;
 break;
 }
 p = t;
 t = t->next;
 }
 } 
 }
 while (count > 0);
 printf("Сортировка выполнена!\n");
 return f;
 }
 
 /* ФУНКЦИЯ СОХРАНЕНИЯ РЕЗУЛЬТАТА ПОСЛЕ СОРТИРОВКИ*/
 void save(BOOK *f, int b)
 {
 /* временный указатель */
 BOOK *t;
 /* указатель на файл для работы */
 FILE *fout;
 
 if (b == 1)
 {
 input[0] = '\x0';
 }
 
 /* если текущего файла нет, спросим имя файла */
 if (input[0] == '\x0')
 {
 printf("Enter name of file for save: ");
 gets(input);
 }
 
 /* создаем файл */
 if ((fout = fopen(input, "w")) == NULL)
 {
 /* ошибка открытия файла */
 printf("Error open file [%s] for writing.\n", input);
 //return f;
 }
 
 /* цикл по всем элементам */
 for (t = f; t != NULL; t = t->next)
 {
 /* выводим очередную строчку в файл */
 fprintf(fout, "%s\n", t->name);
 }
 /* закроем файл */
 fclose(fout);
 
 printf("Save in file [%s] finished!\n", input);
 }
 
 /*главная функция*/
 void main(void)
 {
 /*указатель на файл с которым будем работать*/
 FILE *f;
 /*счетчик*/
 int i;
 if (!(f= fopen("test.txt", "r"))) {
 /* файл не открыт */
 /* выведем сообшение */
 printf(" файл test.txt не удалось открыть для записи.\n");
 /*Завершим программу*/
 }
 }
1
supra
0 / 0 / 0
Регистрация: 28.06.2011
Сообщений: 10
28.06.2011, 10:45  [ТС] #3
благодарю! а можно сделать так? : есть 2 файла в них текст, слова находящиеся в них нужно отсортировать и записать в один файл

Добавлено через 10 минут
а неее походу я что то напутал, нада просто записать в этот же файл )
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.06.2011, 10:45
Привет! Вот еще темы с ответами:

Отсортировать слова в строке по алфавиту - C++
Тема: Функции и массивы в С++ Задание: Отсортировать слова в строке по алфавиту

Необходимо отсортировать слова в строке по алфавиту - C++
Написать программу в которой вводиться рядок слов, отсортировать слова по первой букве, нужно сделать через использование функций.

Отсортировать слова в предложении по алфавиту и подсчитать количество слов - C++
отсортировать слова в предложении по алфавиту и подсчитать количество слов

Отсортировать слова по алфавиту в массиве char. Между словами по несколько пробелов - C++
Задачка такая: есть строка - вводится юзером. Нужно в этой строке упорядочить слова по алфавиту. Проблема в том, что не знаю з чего начать....


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru