Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <locale.h>
- #define MAXLENGTH 100
- int main(void)
- {
- char line[MAXLENGTH];
- int len, maxs, i, id, count, flag, c, n, twin, status ,nw, sl; // с - переменная для сравнения символов
- setlocale(LC_ALL, "Rus"); // n - последний символ в массиве, заменяющийся на конец строки
- status = 0; // в слове или нет
- flag = 0; // избежание пробелов в близницах
- nw = 0; // количество слов
- count = 0; // количество символов в слове
- id = 0; // номер первого символа самого длинного слова
- i = 0; // счётчик для for
- maxs = 0; // длина самого большого слова
- len = 0; // длина слова
- sl = 0; // счётчик для близнеца
- twin = 0; // близнец
- printf("Сколько будет символов в строке? (Измените MAXLENGHT, если их будет больше 100): ");
- scanf_s("\n%d", &n);
- printf("Введите строку: \n\n");
- while ((c = getchar()) != '@')
- {
- line[i] = c;
- i++;
- len++;
- line[n] = '\0';
- if ((c == ' ') || (c == ',') || (c == '\n') || (c == '.') || (c == '\t'))
- {
- status = 0;
- }
- else if (status == 0)
- {
- status = 1;
- nw++;
- }
- }
- for (i = 0; i < len; i++)
- {
- if ((line[i] != ' ') && (line[i] != ',') && (line[i] != '\n') && (line[i] != '.') && (line[i] != '\t') && (line[i] != '!') && (line[i] != '?') && (line[i] != ';') && (line[i] != ':'))
- {
- count++;
- }
- else
- {
- if (count > 0)
- flag = 1;
- if (twin == count)
- sl = 1;
- else
- sl = 0;
- if (count > maxs)
- {
- maxs = count;
- id = i - count;
- twin = count;
- }
- count = 0;
- }
- }
- if (twin == count)
- sl = 1;
- else if ((twin != count) && (count > 0))
- sl = 0;
- if (count > maxs)
- {
- maxs = count;
- id = i - count;
- twin = count;
- }
- if ((flag == 1) && (twin == maxs) && (nw > 1) && (sl==1))
- printf("Ошибка! Среди введённых слов нет самого длинного. Введите слова разной длины!\n");
- else
- {
- printf("\nСамое длинное слово: ");
- for (i = id; i < id + maxs; i++)
- {
- putchar(line[i]);
- }
- printf("\nДлина самого большого слова равна: %d\n", maxs);
- }
- system("pause");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement