Обработать строку на основе удаления лишних пробелов между словами - C (СИ)
Формулировка задачи:
Требуется разработать программу,которая обеспечивает:
1.возможность ввода строки со словами,разделенными пробелами
2.обработку строку на основе удаления лишних пробелов между словами и последующего преобразования строки согласно своему варианту задания.
3.вывод на экран полученной строки
Мое задание:
В слове имеется только одна пара одинаковых символов,симметрично расположенных относительно центра слова. Примеры: abcda, aba, abcabc
вот до чего дошла потом не знаю как делать?
#include <stdio.h> #include <string.h> main() { char str1[200]; char str2[200]; printf ("Vxodnaia stroka = "); gets(str1); int i,j; for (i = 0, j = 0; str1[i] != 0; i++) { if ((str1[i] !=' ')||((str1[i]==' ')&&(str1[i+1]!=' '))) { str2[j]=str1[i]; j=j+1; } } str2[j]=0; printf("Vixodnaya stroka = %s \n",str2); }
Решение задачи: «Обработать строку на основе удаления лишних пробелов между словами»
textual
Листинг программы
#include <stdio.h> #include <string.h> main() { char str1[200]; char mas[20][10]; char *ch; printf ("Vxodnaia stroka = "); gets(str1); int i,j,k,count; ch = strtok(str1, " "); //запись каждого слова в массив for (i = 0; ch != '\0'; i++) { strcpy(mas[i], ch); ch = strtok(NULL, " "); } for(j=0;j<i;j++) //по всем словам { count=0; for(k=0;k<(strlen(mas[j])-1)/2;k++) //по слову { if((mas[j][k]==mas[j][strlen(mas[j])-1-k])) { count++; } } if(count==1) printf("%s ",mas[j]); } }
Объяснение кода листинга программы
- Включаются необходимые заголовочные файлы
- Создается переменная типа char для хранения строки
- Создается массив из 20 строк по 10 символов
- Создается указатель на первый символ строки
- Выводится приглашение для ввода строки
- Вводится строка с помощью функции gets
- Создаются необходимые переменные для обработки строки
- Указатель ch инициализируется первым словом строки с помощью функции strtok
- В цикле while сохраняются все слова строки в массив mas
- В цикле for выводится каждое слово массива mas
- В каждой итерации цикла проверяется, является ли текущее слово симметричным, и если да, то выводится на экран
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д