2 / 2 / 4
Регистрация: 12.04.2013
Сообщений: 66
|
||||||
1 | ||||||
Вывести в другой файл в алфавитном порядке все слова, встречающиеся в тексте12.04.2013, 18:11. Показов 3864. Ответов 1
Метки нет Все метки)
(
Дан файл, содержащий текст. Вывести в другой файл в алфавитном порядке все слова, встречающиеся в этом тексте. Язык Си.
Сначала я из своего файла f закидываю в str1 свою строку (там три слова). Затем в цикле от 'A' до 'z' с помощью функции strtok ищу свои слова и проверяю первую букву. Если она совпадает по коду аски я её вывожу на экран. По идее мне нужно их закидывать в другой файл g. Но у меня возникает проблема сразу на 2ой букве по коду аски. Перемещая указатель с помощью k=strtok(NULL," "); он(указатель) оказывается в конце строки. Но потом по идее я перемещаю указатель за 1ое слов с помощью k=strtok(str1," "); Но на деле выходит что указатель не перемещается за 1ое слово. И функция k=strtok(NULL," "); возвращет мне NULL. Где я допустил ошибку? Почему указатель не перемещается за 1ое слово?
0
|
12.04.2013, 18:11 | |
Ответы с готовыми решениями:
1
Перечислить в алфавитном порядке все слова, встречающиеся в этом тексте.
|
2 / 2 / 4
Регистрация: 12.04.2013
Сообщений: 66
|
|
17.04.2013, 21:07 [ТС] | 2 |
Вот решение этой задачи.
#include <stdio.h> #include <conio.h> #include <stdlib.h> #include <errno.h> #include <string.h> //Дан файл, содержащий текст. Вывести в другой файл в алфавитном порядке все слова, встречающиеся в этом тексте. typedef struct fort { char word[50];} fort; fort sort (fort* array, int n){ int k,i; fort buff; for (i=0;i<n;i++){ for(k=0;k<n;k++){ if(strcmp(array[i].word,array[k].word)<0){ buff=array[i]; array[i]=array[k]; array[k]=buff; } } } } int main() { FILE *f=fopen("text1lab8.part1.task5.txt", "rt+"),*g=fopen("text2lab8.part1.task5.txt","wt"); char str1[200],str2[200]=""; size_t res1; res1=fread(str1, sizeof(char),200,f); printf("The number of elements=%d\n",res1); int i,h=0; printf("%s\n",str1); for (i=0;i<strlen(str1);i++) { if (str1[i]==char(32)) h++; } char *k; fort mas[h+1]; k=strtok(str1," "); strcpy(mas[0].word,k); for (i=1;i<=h;i++) { k=strtok(NULL," "); strcpy(mas[i].word,k); } sort(mas,h+1); for (i=0;i<h+1;i++) printf("%s\n",mas[i].word); for (i=0;i<h+1;i++) { strcat(str2,mas[i].word); strcat(str2," "); } printf("str2: %s",str2); size_t res2; res2=fwrite(str2,sizeof(char),strlen(str2),g); fclose(f); fclose(g); getch(); return 0; }
0
|
17.04.2013, 21:07 | |
17.04.2013, 21:07 | |
Помогаю со студенческими работами здесь
2
Переписать в алфавитном порядке все слова из заданного файла, имеющие длину n, в другой файл.
Вывести на экран все буквы, встречающиеся в строке, в алфавитном порядке В тексте слова разделены запятыми,напечатать все слова в алфавитном порядке. Вывести в алфавитном порядке все латинские буквы, встречающиеся в строке (Pascal -> C++) Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Опции темы | |
|
Новые блоги и статьи
![]() |
|||||
Как преобразовать список списков в простой список в Python
bytestream 22.01.2025
При работе с Python разработчики часто сталкиваются с необходимостью обработки сложных структур данных, среди которых особое место занимают вложенные списки. Эти структуры представляют собой списки,. . .
|
Что такое GUID / UUID и как их создать
bytestream 22.01.2025
В мире разработки программного обеспечения существует постоянная потребность в уникальной идентификации объектов, записей и ресурсов. Эта задача становится особенно актуальной в распределенных. . .
|
Как добавить пустую директорию в репозиторий Git
bytestream 22.01.2025
При работе с системой контроля версий Git разработчики часто сталкиваются с ситуацией, когда необходимо сохранить пустую директорию в репозитории. Данная задача может показаться простой на первый. . .
|
Как валидировать адрес email в JavaScript
bytestream 22.01.2025
JavaScript, как основной язык веб-разработки, предоставляет разработчикам множество инструментов для реализации эффективной валидации email-адресов. От простых встроенных решений до сложных. . .
|
Как заменить все вхождения подстроки в JavaScript
bytestream 22.01.2025
Строки в JavaScript представляют собой неизменяемые последовательности символов, что делает их обработку особенно интересной с точки зрения оптимизации и выбора правильного подхода к решению задач.
. . .
|
Управление версиями пакетов в Node.js. В чем разница между тильдой (~) и кареткой (^) в package.json
bytestream 22.01.2025
В современной разработке программного обеспечения управление версиями пакетов играет ключевую роль в обеспечении стабильности и надежности проектов. Node. js, как одна из самых популярных платформ для. . .
|
Аутентификация на сайте с помощью формы
bytestream 21.01.2025
В современном цифровом мире безопасная аутентификация становится краеугольным камнем защиты веб-приложений и пользовательских данных. Каждый день миллионы людей используют различные онлайн-сервисы,. . .
|
Как получить индекс в цикле for в Python
bytestream 21.01.2025
При работе с коллекциями данных в Python часто возникает необходимость не только получить доступ к элементам последовательности, но и знать их позицию в процессе итерации. Индексация в циклах. . .
|
Как определить адрес, из которого локальный репозиторий Git был клонирован
bytestream 21.01.2025
В современной разработке программного обеспечения система контроля версий Git стала неотъемлемой частью рабочего процесса. При работе с Git разработчики часто сталкиваются с необходимостью. . .
|
Какая разница между операторами == и === в сравнениях в JavaScript
bytestream 21.01.2025
В мире веб-разработки JavaScript занимает особое место как динамический язык программирования, предоставляющий разработчикам широкий набор инструментов для создания интерактивных веб-приложений. . . .
|
Из чего и как собрать свой домашний кинотеатр
bt_guru 21.01.2025
Создание домашнего кинотеатра: от идеи до реализации
В современном мире домашний кинотеатр стал неотъемлемой частью комфортного жилого пространства, предоставляя возможность наслаждаться. . .
|
Ошибки стиральных машин
bt_guru 21.01.2025
Современные стиральные машины представляют собой сложные электронные устройства, оснащенные множеством датчиков и систем контроля. Они способны самостоятельно определять вес загруженного белья,. . .
|