тут есть несколько ньюансов
- в строке может не быть вообще слов с буквой а (учтем этот факт)
- может быть несколько слов с одинаковым кол-вом букв а (тогда задача решается в 2 прохода, я решу с одним)
#include <iostream>
#include <string>
#include <sstream>
using namespace std;
#define LITERA 'a'
int main(int argc, char *argv[])
{
string s;
cout << "введите строку: ";
getline(cin, s);
string min_word;
int min_count = 0;
istringstream iss(s);
while (iss >> s)
{
int count = 0;
for (int i = 0; i < s.length(); i++)
{
if (LITERA == s.at(i))
{
count++;
}
}
if (0 == count)
{
//в этом слове нет искомой буквы
}
else
{
if (0 == min_count)
{
//до этого момента не найдено ни одного слова
min_count = count;
min_word = s;
}
else
{
if (count < min_count)
{
min_count = count;
min_word = s;
}
}
}
}
if (0 == min_count)
{
cout << "в строке нет слов с буквой '" << LITERA << "'" << endl;
}
else
{
cout << "слово '" << min_word << "' содержит минимум '"
<< LITERA << "' = " << min_count << endl;
}
return 0;
}вывод
введите строку: fire char panama ufo слово 'char' содержит минимум 'a' = 1 введите строку: bug kriss more в строке нет слов с буквой 'a'
ваша программа после первой строки выдает неправильный результат(я ввожу строку с буквой 'a' а она пишет что нету буквы 'a') и завершает программу а мне нужно чтоб после 5 введеных строк она выбирала строку с минимальным кол-вом буква 'a'
ОтветитьУдалитьвы не путаете russia and english
ОтветитьУдалитьнет
ОтветитьУдалитьне путаю
в программе что-то не то
нужно чтобы было так:
я ввела 5 cтрочек
cat
caat
caaat
cit
caaaaaaaat
ввела это
а программа вывела на экран одно слово-cat
и написала
в этом слове 1 буква а
это вообще реально?
СПАСИБО ЗА ВАШУ ПОМОЩЬ!!!!
ваша программа не ждёт пока 5 строчек введут
ОтветитьУдалитьона сразу результат выдаёт после первой же строки
и то не верный
пишет,что есть буква -а- хотя её нет..
http://its.lnpu.edu.ua/~chebanov/
ОтветитьУдалитьэто лабораторные работы для 1 курса программной инженерии
я просила решить 10 лаб- 16 вариант- 2 задание
может теория к этой лаб. поможет решить так как нужно именно в этом случае..
спасибо
ведь это я переделал с условием нахождения слова в _СТРОКЕ_ в котором меньше всего букв 'a'
ОтветитьУдалитьвведите строку: cat caat caaat cit caaaaaaat
слово 'cat' содержит минимум 'a' = 1
я может чего не понимаю, но тут (http://resheno.blogspot.com/2009/12/blog-post_12.html) я поправил программу для нахождения и максимума и минимума вхождения символа в строке
input 0 string: cat
input 1 string: caat
input 2 string: caaat
input 3 string: cit
input 4 string: caaaaaaaat
в строке 4 больше всего (8) букв 'a'
в строке 0 меньше всего (1) букв 'a'
что не так в результате?
даже если это не совсем то что вы хотели - мне кажется тут нетрудно передалать для ваших нужд, если вам нужна более подробная консультация - свяжитесь со мной в чате (клацнуть на моей фото когда я в online - зеленый значек вам это подскажет)
ОтветитьУдалить