#include <iostream>
#include <string>
using namespace std;
#define N 5
#define LITERA 'a'
int main(int argc, char *argv[])
{
string s[N];
for (int i=0; i<N; i++)
{
cout << "input " << i << " string: ";
getline(cin, s[i]);
}
int min_index = -1;
int min_count = -1;
int max_index = -1;
int max_count = -1;
for (int i=0; i < N; i++)
{
int count = 0;
for (int j=0; j < s[i].length(); j++)
{
if (LITERA == s[i].at(j))
{
count++;
}
}
if (0 != count)
{
if (-1 == min_count)
{
min_count = count;
min_index = i;
}
else
{
if (count < min_count)
{
min_count = count;
min_index = i;
}
}
}
if (count > max_count)
{
max_count = count;
max_index = i;
}
}
if (-1 != max_index)
{
cout << "в строке " << max_index
<< " больше всего (" << max_count << ") "
<< "букв '" << LITERA << "'" << endl;
}
else
{
cout << "ни в одной строке нет буквы '" << LITERA << "'" << endl;
}
if (-1 != min_index)
{
cout << "в строке " << min_index
<< " меньше всего (" << min_count << ") "
<< "букв '" << LITERA << "'" << endl;
}
return 0;
}вывод
input 0 string: fdfads input 1 string: dfadfafad input 2 string: dfadfadfadfad input 3 string: dadf input 4 string: dafadfadfad в строке 2 больше всего (4) букв 'a'
супер!
ОтветитьУдалитьспасибо!!
только вы перепутали
ОтветитьУдалитьмне нужнобыло мин кол-во букв в строчке
а не максимальное
я просто исправлю max на min
спасибо ещё раз!!
ах да! )))
ОтветитьУдалитьпосмотрите пожалуйста мою программу,которая ищет букву а в строке
ОтветитьУдалитькак мне вывести на экран только одно слово с самым меньшим кол-вом буквы а?
#include "STRING.H"
#include "iostream.h"
void main()
{
char stroka[20];
cout<<"vvedite 5 strok";
for(int i=0;i<5;i++)
{cin>>stroka;
if(strchr(&stroka[0],'a'))
cout<<"est bukva a";
else
cout<<"net bukva a" ";
}
}
с таким условием задача решается немного по-другому
ОтветитьУдалитьhttp://resheno.blogspot.com/2009/12/blog-post_15.html
извините но ваша программа неправильно работает
ОтветитьУдалитьмне нужно чтоб при вводе 5 строк программа выводила на экран только 1 строку с самым маленьким числом буквы 'a'
а ваша программа этого не делает
исправьте пожалуйста
у вас пять пятниц на неделе )))
ОтветитьУдалитьпосмотрите - я переделал оригинал - теперь находит и минимум и максимум
спасибо большое!
ОтветитьУдалитьтеперь всё понятно и всё работает!!
ВЫ СУПЕР!!!