Главная » Статьи » Задачи из заказов » Заказ 09.11.07 |
Из введённого текста распечатать все слова наименьшей длинны.
// 5.26 // Из введённого текста распечатать все слова наименьшей длинны #include <stdio.h> #include <conio.h> #include <string.h> void main() { clrscr(); char* str; char ch, ans; int len, beg, l, i, j, minl; do { printf("Vvedite tekst\n"); gets(str); len = strlen(str); minl = 0; beg = -1; for (i = 0; i < len; i++) if (str[i] != ' ') { if (i == 0 || str[i - 1] == ' ') beg = i; if ((i == len - 1 || str[i + 1] == ' ') && beg != -1) { l = i - beg + 1; if (minl == 0 || minl > l) minl = l; } } printf("Minimalnaya dlinna slova: %d\n", minl); if (minl != 0) { printf("Slova s takoy dlinnoy:\n"); for (i = 0; i < len - minl + 1; i++) if ((str[i] != ' ') && (i == 0 || str[i - 1] == ' ') && (i + minl == len || str[i + minl] == ' ')) { for (j = 0; j < minl; j++) printf("%c", str[i + j]); printf("\n"); i += minl - 1; } } printf("Esho raz?(Y/N)\n"); ans = getch(); printf("%c\n", ans); } while (ans == 'Y' || ans == 'y'); } | |
Категория: Заказ 09.11.07 | Добавил: solver (09.11.2007) | |
Просмотров: 875 |