6 / 8 / 8
Регистрация: 06.10.2017
Сообщений: 269
1

Найти длину самого короткого слова в предложении (нужны комментарии к коду)

23.11.2017, 18:22. Показов 646. Ответов 2
Метки нет (Все метки)

Дано предложение найти длину его самого короткого слова.
Программа находит и длинное и короткое слово можете изменить её так чтобы она находило только короткое слово


C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#include <string.h>
 
int main()
{
   printf("input text: ");
   char text[1024];
   fgets(text, sizeof(text)-1, stdin);
 
   char* pmax = NULL;
   size_t pmaxlen = 0;
 
   char* pmin = NULL;
   size_t pminlen = 0;
 
   char* begin = text;
   char* end = text;
 
   while (*end)
   {
      for (begin = end; *begin && !isalnum(*begin); ++begin) { ; }
 
      for (end = begin; *end && isalnum(*end); ++end) { ; }
 
      if (begin < end)
      {
         if ((pmax == NULL) || (pmaxlen < end - begin))
         {
            pmax = begin;
            pmaxlen = end - begin;
         }
         if ((pmin == NULL) || (pminlen > end - begin))
         {
            pmin = begin;
            pminlen = end - begin;
         }
      }
   }
   if (pmax && pmin)
   {
      printf("\n");
      printf("max = %.*s\n", pmaxlen, pmax);
      printf("min = %.*s\n", pminlen, pmin);
   }
 
   system("pause");
 
   return 0;
}
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.11.2017, 18:22
Ответы с готовыми решениями:

Найти длину самого короткого слова в предложении
Найти длину самого короткого слова в предложении

Вычислить длину самого короткого слова в предложении
вычислить длину самого короткого слова в предложении.... Зарание Спасибо!=)

Вычислите длину самого короткого слова в предложении
7. Вычислите длину самого короткого слова в предложении из трех слов, разделенных пробелами.

Вычислите длину самого короткого слова в предложении
Вычислите длину самого короткого слова в предложении из трёх слов,разделёёных пробелами

2
94 / 41 / 23
Регистрация: 18.09.2016
Сообщений: 374
23.11.2017, 19:32 2
Марина1211,
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#include <string.h>
 
int main()
{
   printf("input text: ");
   char text[1024]; // ваш массив
   fgets(text, sizeof(text)-1, stdin); // вводим предложение( третий аргумент stdin, так что ввод осуществляем с клавиатуры)
 
   char* pmax = NULL;
   size_t pmaxlen = 0;
 
   char* pmin = NULL;
   size_t pminlen = 0;
 
   char* begin = text; // указатель на начало слова
   char* end = text; // указатель на конец слова
 
   while (*end) // цикл по всему тестку
   {
      for (begin = end; *begin && !isalnum(*begin); ++begin) { ; } // цикл пока есть символ в строке  и пока он не является 
   //буквой или цифрой( другими словами, начало очередного слова)
 
      for (end = begin; *end && isalnum(*end); ++end) { ; }  // цикл пока есть символ в строке и пока он является цифрой или
// буквой( в конце работы цикла указатель end находится на первом недопустимом символе)
 
      if (begin < end) // сравнение указателей
      {
         if ((pmax == NULL) || (pmaxlen < end - begin)) // если это 1 слово или  новая разность указателей больше предыдущей
         {
            pmax = begin; // указатель на максимальное слово, которое будет выведено в результате
            pmaxlen = end - begin; // разность end и begin есть длина слова
         }
// далее аналогия только с короткими словами
         if ((pmin == NULL) || (pminlen > end - begin)) 
         {
            pmin = begin;
            pminlen = end - begin;
         }
      }
   }
   if (pmax && pmin)
   {
      printf("\n");
      printf("max = %.*s\n", pmaxlen, pmax);
      printf("min = %.*s\n", pminlen, pmin);
   }
 
   system("pause");
 
   return 0;
}
1
6 / 8 / 8
Регистрация: 06.10.2017
Сообщений: 269
23.11.2017, 20:01  [ТС] 3
теперь выводит только минимальное число посмотрите все лишнее убрала?

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#include <string.h>
 
int main()
{
   printf("input text: ");
   char text[1024]; // ваш массив
   fgets(text, sizeof(text)-1, stdin); // вводим предложение( третий аргумент stdin, так что ввод осуществляем с клавиатуры)
 
 
   char* pmin = NULL;
   size_t pminlen = 0;
 
   char* begin = text; // указатель на начало слова
   char* end = text; // указатель на конец слова
 
   while (*end) // цикл по всему тестку
   {
      for (begin = end; *begin && !isalnum(*begin); ++begin) { ; } // цикл пока есть символ в строке  и пока он не является
   //буквой или цифрой( другими словами, начало очередного слова)
 
      for (end = begin; *end && isalnum(*end); ++end) { ; }  // цикл пока есть символ в строке и пока он является цифрой или
// буквой( в конце работы цикла указатель end находится на первом недопустимом символе)
 
      if (begin < end) // сравнение указателей
      {
 
         {
 
         }
// далее аналогия только с короткими словами
         if ((pmin == NULL) || (pminlen > end - begin))
         {
            pmin = begin;
            pminlen = end - begin;
         }
      }
   }
 
   {
      printf("\n");
      printf("min = %.*s\n", pminlen, pmin);
   }
 
   system("pause");
 
   return 0;
}
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.11.2017, 20:01

Определить длину самого короткого слова и его номер в предложении
Дано предложение. Определить длину его самого короткого слова и номер этого слова в предложении.

Вычислить длину самого короткого слова в предложении из трех слов, разделенных пробелами
Вычислить длину самого короткого слова в предложении из трех слов, разделенных пробелами.

Напишите программу, вычисляющую длину самого короткого слова в предложении из трех слов
1.Напишите программу, вычисляющую длину самого короткого слова в предложении из трех слов,...

Вычислить длину самого короткого слова в предложении из трех слов, разделенных пробелами.
Вычислить длину самого короткого слова в предложении из трех слов, разделенных пробелами.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.