Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.11.2017, 15:00   #1
Александр121
Форумчанин
 
Регистрация: 17.09.2017
Сообщений: 265
По умолчанию строки - C (СИ)

программа выводит слово с минимальным и максимальным количеством букв
как сделать так чтобы она ещё посчитала длину слова?
допусти в вожу Марина Мар мари
она выводит мин=мар 3 элемента
максимальная равно Марина 6 элементов
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <ctype.h>
  4. #include <string.h>
  5. int main()
  6. {
  7. printf("input text: ");
  8. char text[1024];
  9. fgets(text, sizeof(text)-1, stdin);
  10. char* pmax = NULL;
  11. size_t pmaxlen = 0;
  12. char* pmin = NULL;
  13. size_t pminlen = 0;
  14. char* begin = text;
  15. char* end = text;
  16. while (*end)
  17. {
  18. for (begin = end; *begin && !isalnum(*begin); ++begin) { ; }
  19. for (end = begin; *end && isalnum(*end); ++end) { ; }
  20. if (begin < end)
  21. {
  22. if ((pmax == NULL) || (pmaxlen < end - begin))
  23. {
  24. pmax = begin;
  25. pmaxlen = end - begin;
  26. }
  27. if ((pmin == NULL) || (pminlen > end - begin))
  28. {
  29. pmin = begin;
  30. pminlen = end - begin;
  31. }
  32. }
  33. }
  34. if (pmax && pmin)
  35. {
  36. printf("\n");
  37. printf("max = %.*s\n", pmaxlen, pmax);
  38. printf("min = %.*s\n", pminlen, pmin);
  39. }
  40. system("pause");
  41. return 0;
  42. }
Александр121 вне форума Ответить с цитированием
Старый 25.11.2017, 15:04   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,707
По умолчанию

Ну включите опять простейшую логику и увидьте. что у вас уже все подсчитано. Надо только в вывод дописать.
p51x вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Выводить только измененные строки. Перед каждой строкой записывать номер строки в исходном тексте.используя строки и текст.файл nero4ka C++ Builder 1 13.06.2015 07:14
Необходимо каждый элемент строки разделить на сумму элементов строки IgoreKMaN Общие вопросы C/C++ 4 18.12.2014 01:28
Задача на строки. Даны две строки. Определить можно ли из символов первой строки получить вторую строку.( написать подпрограммой и ANTON1994 Паскаль, Turbo Pascal, PascalABC.NET 5 09.02.2013 14:07
Программа на языке "Ассемблер" - ввод строки, анализ длины строки, добавление точки в конец строки Алексей_2012 Помощь студентам 1 05.04.2012 11:26
Перенести символа с начала строки в место перед запятой этой же строки. Zhiltsov Microsoft Office Excel 4 05.06.2009 13:10