тут есть несколько ньюансов
- в строке может не быть вообще слов с буквой а (учтем этот факт)
- может быть несколько слов с одинаковым кол-вом букв а (тогда задача решается в 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 - зеленый значек вам это подскажет)
ОтветитьУдалить