Помогите, пожалуйста, найти ошибку в программе. не все тесты проходит ** сайте. Текст...

0 голосов
87 просмотров

Помогите, пожалуйста, найти ошибку в программе. не все тесты проходит на сайте.
Текст задачи:
Текст на английском языке записан в массиве a[1..1000] of char. Помимо английских букв, в нем могут встречаться пробелы и знаки препинания. В массиве b['A'..'Z'] of integer получите сведения о том, сколько каких букв встречается в этом тексте. При подсчете строчные и прописные буквы не различать.

Входные данные
На вход программе сначала подается значение n1000 — количество букв в тексте. В следующей строке входных данных расположены сами буквы (без разделителей).

Выходные данные
Выдайте 26 чисел — значения элементов массива b.

Сама программа:
#include
using namespace std;
int main()
{
int b[26], N, i, k;
char a[1000], m;
cin>>N;
for(i=0;i {
cin>>a[i];
a[i]=toupper(a[i]);
}

for(m='A';m<='Z';m++)<br> b[m]=0;

for(m='A';m<='Z';m++)<br> for(i=0;i if(a[i]==m)
b[m]++;

for(m='A';m<='Z';m++)<br> cout< return 0;
}


Информатика (84 баллов) | 87 просмотров
0

Для подсчета букв попробуй такой цикл for(i=0; i<1000; ++i) b[a[i]]++;

0

Это С? Не шарю в С, но "for(i=0;i if(a[i]==m)", "cout< return 0;" - вот эти строки явно как-то коряво выглядят.

Дан 1 ответ
0 голосов

For(i=0;i if(a[i]==m

(199 баллов)