
Помогите, пожалуйста, найти ошибку в программе. не все тесты проходит на сайте. Текст задачи: Текст
на английском языке записан в массиве 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++) b[m]=0; for(m='A';m<='Z';m++) for(i=0;i if(a[i]==m) b[m]++; for(m='A';m<='Z';m++) cout< return 0; }

Ответы на вопрос




Проблема в вашей программе заключается в том, что вы не правильно использовали циклы и индексы массива. Давайте исправим ваш код:
```cpp
#include
int main() { int b[26] = {0}; // Инициализируем массив нулями int N; char a[1000];
cin >> N; for (int i = 0; i < N; i++) { cin >> a[i]; a[i] = toupper(a[i]); // Приводим к верхнему регистру }
for (int i = 0; i < N; i++) { if (isalpha(a[i])) { // Проверяем, является ли символ буквой b[a[i] - 'A']++; // Индекс массива вычисляется как разница между ASCII-кодами символов } }
for (char m = 'A'; m <= 'Z'; m++) { cout << b[m - 'A'] << " "; }
return 0; } ```
В этой версии программы я внес несколько изменений:
1. Использовал `isalpha` для проверки, является ли символ буквой. 2. Использовал выражение `a[i] - 'A'` для вычисления правильного индекса массива `b`. 3. Убрал лишний цикл `for` в конце программы. 4. Использовал более современный синтаксис C++.
Теперь программа должна правильно считывать входные данные и выдавать корректный результат.


Топ вопросов за вчера в категории Информатика







Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili