Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Mizuki65
0 / 0 / 0
Регистрация: 16.12.2013
Сообщений: 5
#1

Самое короткое слово и его длинна - C++

23.12.2013, 23:38. Просмотров 349. Ответов 5
Метки нет (Все метки)

Нужна программа для нахождения
1. Дана стpока символов. Пpизнак конца стpоки - символ '\n' (пеpевод стpоки). Стpока состоит из слов, pазделенных пpобелами.Вывести самое коpоткое слово и его длину.
Решить с использованием массива)
Для примера была дана вот эта задача
Задача. Входная строка содержит последовательность
слов, разделенных пробелами. Признак конца строки -
символ '\n' (перевод строки). Вывести на экран слова
длиной до пяти символов.



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
#include <stdio.h>
    #define  DLSTR  80     /* макс.длина строки */
 
    main()
     {  char str[DLSTR];   /* тек. строка */
         int i,j;                      /* индексы тек. символа в строке */
         int n,k;                    /* индексы перв. и посл. символов тек. слова
                                             в строке */
         int net_sl=1;           /* признак, что слов длиной до 5 симв. нет */
         printf ("\n\nВведите строку символов\n");
         gets(str);     /* ввод строки в массив str c заменой символа '\n'
                                 на признак конца строки '\0'  */
         printf ("Результат:\n");
         i=0;
         while (str[i]!='\0')
          {
             if (str[i]==' ')  i++;
             else
               { n=i;
                  do  i++;  while ((str[i]!=' ') && (str[i]!='\0'));
                  k=i;
                  if ( k-n < 5 )
                    { for (j=n; j<k; j++)
                          putchar(str[j]);
                       putchar(' ');
                       net_sl=0;
                    }
                }
           }
         if (net_sl)  printf ("Слов длиной до 5 символов нет.");
         printf ("\nДля завершения нажмите любую клавишу");
         getch();   /* чтение символа без отображения его на экране */
     }

Как ее записать..
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.12.2013, 23:38
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Самое короткое слово и его длинна (C++):

Найти самое короткое слово в заданном текстовом файле и количество его повторений - C++
Дан код, который выводит самое короткое слово в заданном текстовом файле и считает кол-во повторений этого слова в тексте. Нужно сделать...

Поменять местами самое длинное слово и самое короткое слово в тексте - C++
Пусть есть двумерный массив, заполненный символами. Рассматривать его как многострочный текст, слова в котором разделены одним или...

Найдите самое длинное, и самое короткое слово в заданном предложении - C++
Найдите самое длинное и самое короткое слово в заданном предложении.

В заданной строке определить самое длинное и самое короткое слово - C++
Ввести несколько строк,каждая из которых содержит некоторое количество слов.В заданной строке определить самое длинное и самое короткое...

Дан текст из нескольки строк, определить самое длинное и самое короткое слово - C++
Вот задание: Дан текст из нескольки строк, определить самое длинное и самое короткое слово.... Я смог решить тока для одной...

Ввести строку, содержащую несколько слов. Определить самое длинное и самое короткое слово - C++
Здравствуйте, не могли бы мне помочь с кодом. Как его переписать, чтобы программа работала? #include &lt;iostream&gt; #include &lt;cstdlib&gt; ...

5
Крюгер
0 / 60 / 3
Регистрация: 16.11.2012
Сообщений: 418
Записей в блоге: 5
23.12.2013, 23:50 #2
Mizuki65, я думаю стоит считать строку в буфер, после в цикле сортировать до пробела, если пробел то присвоить значение счетчика какой ни будь переменной, (или элементу массива переменных...) а потом готовые значение сравниваете друг с другом. выводите наименьшее. вот и всё.
кстати удобнее работать всё же со string типом.(просто совет)
(просто факт)
1
Mizuki65
0 / 0 / 0
Регистрация: 16.12.2013
Сообщений: 5
23.12.2013, 23:53  [ТС] #3
Я уже перебрала способы как можно сделать,а вот как записать ее именно в таком виде(как дан в примере) не могу.мозгов не хватает.надо минимально изменить программу
0
Крюгер
0 / 60 / 3
Регистрация: 16.11.2012
Сообщений: 418
Записей в блоге: 5
23.12.2013, 23:56 #4
Mizuki65, вы хотите вывести это слово или количество букв в нем? 0_о
1
Mizuki65
0 / 0 / 0
Регистрация: 16.12.2013
Сообщений: 5
23.12.2013, 23:59  [ТС] #5
Вывести самое коpоткое слово и его длину.
0
Крюгер
0 / 60 / 3
Регистрация: 16.11.2012
Сообщений: 418
Записей в блоге: 5
24.12.2013, 14:02 #6
если по хорошему делать, то для начала работы со строкой нужно узнать сколько вообще в ней слов,
а это можно узнать по количеству пробелов.
если у вас вот такой тип строки: _|_|_|_\0 то количество слов в ней 3+1,
для хранения этого всего можно и структурку создать типа:
C++
1
2
3
strict{
char w[10];
int len;};
Добавлено через 13 часов 50 минут
ох очепятка опять( , я хоел написать struct{}
это из-за того что у меня в комнате темно(
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.12.2013, 14:02
Привет! Вот еще темы с ответами:

Найти самое короткое и самое длинное слово в строке - C++
#include &lt;iostream&gt; #include &lt;string.h&gt; #include &lt;conio.h&gt; #include &lt;stdio.h&gt; using namespace std; void inp(char); void...

Заменить самое длинное слово на самое короткое и наоборот - C++
Необходимо заменить самое длинное слово на самое короткое и самое короткое на самое длинное. Я их нашел, но как заменить не знаю......

Напечатать самое длинное и самое короткое слово в строке - C++
Прошу помочь с решением задачи. Задана строка, состоящая из символов. Символы объединяются в слова. Слова друг от друга отделяются...

Найти самое длинное и самое короткое слово в предложении - C++
Составить и отладить программу, которая выполняет следующие действия. В заданном тексте из нескольких предложений найти самое длинное и...


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

Или воспользуйтесь поиском по форуму:
6
Yandex
Объявления
24.12.2013, 14:02
Ответ Создать тему
Опции темы

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