|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
20.12.2011, 18:23 | #1 |
Пользователь
Регистрация: 30.10.2011
Сообщений: 22
|
Симметричные слова
Написать программу, которая считывает текст из файла и записывает каждое слово в отдельный элемент массива. Вывести на экран а) симметричные слова, например, «казак», «комок», б) слова, заканчивающиеся на согласную.
Сделал под (б) Помогите сделать задачу под (а) #include "stdafx.h" #include "stdio.h" #include "string.h" #include <clocale> #include "conio.h" #include "Windows.h" #define _CRTDBG_MAP_ALLOC #include <crtdbg.h> int _tmain(int argc, _TCHAR* argv[]) { const int c = 1024; char *string[c]; char *sim; char str[1024] = ""; char size[] = ".-;:?,!+\" #'=\n^$(){}[]\/><"; char end[] = "цкгтжвфсщбнзмлдшрхп"; int i = -1; int q = 0; int w = 0; int j = 0; int sum = 0; int k = 0; _CrtSetDbgFlag (_CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF); SetConsoleCP(1251); SetConsoleOutputCP(1251); printf("************Menu*********** **\n"); printf("1. Открыть файл\n"); printf("2. Посмотреть исходный текст\n"); printf("3. Обработка и вывод\n"); printf("0. Выход\n"); printf("*************************** **"); char menu; do { menu = getch(); switch(menu) { case '1': { FILE *fp = fopen("LabWork.txt", "r"); if(NULL == fp) { printf("Не удалось открыть файл!(Проверьте на наличие файла в папке с программой)"); getch(); return 0; } while(!feof(fp)) { fgets(str, 1024, fp); } fclose(fp); k = 1; printf("\nФайл успешно открыт,для продолжения выберите любой пункт меню..."); break; } case '2': { FILE *fp = fopen("LabWork.txt","r"); if (NULL == fp) { printf("\n\nНе удалось открыть файл!(Проверьте на наличие файла в папке с программой)\n"); system("pause"); return 0; } char str[1024] = ""; while (!feof(fp)) { fgets(str, 1024, fp); printf("\n-------------------------------------------\n"); printf ("%s",str);//Вывод исходника printf("\n-------------------------------------------\n"); } fclose(fp); break; } case '3': { sim = strtok(str, size); while (sim != NULL) { i++; q = strlen(sim); string[i] = new char [q]; string[i] = sim; sim = strtok(NULL, size); } w = i; for(int j = 0; j < w; j++)//сортировка по алфавиту { for(int i = j + 1; i < w+1; i++) { if(strcmp(string[j], string[i]) > 0) { sim = string[j]; string[j] = string[i]; string[i] = sim; } } } char men; do { printf("\nЗадания к лабораторной работе\n\n"); printf("*************************** *****\n"); printf("1)Вывести на экран симметричные слова\n"); printf("2)Найти слова с согласными на конце\n"); printf("0)В меню\n"); men=getch(); switch(men) { case '1': { system("cls"); printf("Фамилии расположенные по алфавиту:\n\n"); printf("---------\n"); for(int i = 0; i < w + 1; i++) { puts(string[i]); } break; } case '2': { printf("\nСлова заканчивающиеся на согласную букву:\n"); for(int i = 0; i < w + 1; i++) { q = strlen(string[i]); if(string[i][q-1] == 'ц' || string[i][q-1] == 'к' || string[i][q-1] == 'г' || string[i][q-1] == 'т' || string[i][q-1] == 'ж' || string[i][q-1] == 'в' || string[i][q-1] == 'ф' || string[i][q-1] == 'с' || string[i][q-1] == 'щ' || string[i][q-1] == 'б' || string[i][q-1] == 'н' || string[i][q-1] == 'з' || string[i][q-1] == 'м' || string[i][q-1] == 'л' || string[i][q-1] == 'д' || string[i][q-1] == 'ш' || string[i][q-1] == 'р' || string[i][q-1] == 'п' || string[i][q-1] == 'х') { puts(string[i]); } } break; } default: if(men!='0') { printf("Неверный пункт меню.\nВведите команду\n\n"); } } }while (men!='0'); system("cls"); printf("************Menu*********** **\n"); printf("1. Открыть файл\n"); printf("2. Посмотреть исходный текст\n"); printf("3. Обработка и вывод\n"); printf("0. Выход\n"); printf("*************************** **"); break; } default: if(menu!='0') { printf("\n\nНеверный пункт меню! Повторите попытку..."); } } }while (menu!='0'); return 0; } |
20.12.2011, 22:00 | #2 |
Пользователь
Регистрация: 30.10.2011
Сообщений: 22
|
Тему в корзину
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Delphi 7 Симметричные и асимметричные методы шифрования | Student599 | Помощь студентам | 1 | 24.05.2011 22:30 |
СИ. Удалить слова, которые содержат все повторяющиеся буквы первого слова | nick23 | Помощь студентам | 7 | 01.11.2009 14:47 |
найти все симметричные четырехзначные числа , например 7667, 1331 | V I K T O R I Y A | Паскаль, Turbo Pascal, PascalABC.NET | 6 | 03.05.2009 15:47 |