Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
 Аватар для Toryka
2 / 2 / 3
Регистрация: 16.05.2015
Сообщений: 20

Если номер элемента массива равен ASCII-коду символа текста, инкрементировать элемент (файловый ввод/вывод)

26.09.2016, 19:51. Показов 1311. Ответов 4

Студворк — интернет-сервис помощи студентам
задача с частотным анализом.
создаю массив из 256 элементов, значения которых равны нулю.
считываю построчно текст из файла.
если номер элемента массива равен ascii-коду символа текста, то значение элемента массива увеличить на единицу.
при выводе значений массива Mass какой-то бред выводит.
в чем ошибка?

C++
1
2
3
4
5
6
7
8
9
10
11
int analiz(){
    int Mass[256]={0};
    int i, j, S=123;
    char buff[123];
    ifstream fin("referat.txt");
    fin.getline(buff, 123);
    for (i=0;i<=123;i++){
            for (j=0;j<=256;j++);{
                if (j=int(buff[i])){
                    Mass[j]=Mass[j]+1;
                    }}}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
26.09.2016, 19:51
Ответы с готовыми решениями:

В заданной матрице найти значение и номер максимального элемента (файловый ввод/вывод)
Из тестового файла ввести двумерный массив L(n,n), состоящий из целых чисел и вычислить: • найти максимальный элемент матрицы и его ...

Ввод символа и вывод его ASCII-кода в заданной системе счисления
Здравствуйте у меня возникла проблема мне нужно реализовать программу которая бы Вводила символ и выводила его ASCII-кода в заданной...

Получите новый массив, каждый элемент которого равен удвоенному числу соответствующего элемента исходного массива, если он больше числа A...
2)Сформировать массив, содержащий n элементов, с помощью чисел, введенных с клавиатуры. Получите новый массив, каждый элемент которого...

4
3176 / 1935 / 312
Регистрация: 27.08.2010
Сообщений: 5,131
Записей в блоге: 1
26.09.2016, 20:22
Почему вдруг построчно? Считывать надо в беззнаковый тип.
0
Модератор
Эксперт по электронике
8981 / 6748 / 921
Регистрация: 14.02.2011
Сообщений: 23,871
26.09.2016, 20:47
Цитата Сообщение от Toryka Посмотреть сообщение
C++
1
char buff[123];
C++
1
unsigned char buff[123];
Цитата Сообщение от Toryka Посмотреть сообщение
C++
1
2
3
for (j=0;j<=256;j++);{
                      if (j=int(buff[i])){
                          Mass[j]=Mass[j]+1
C++
1
Mass[buff[i]]++;
Добавлено через 1 минуту
не говоря уже о куче других ошибок
0
Диссидент
Эксперт C
 Аватар для Байт
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
26.09.2016, 21:20
Имхо, ТС вообще не очень понимает, зачем он завел обнуленный Mass, что такое частотный анализ, и как работает функция getline, и другие. Разбирать ошибки его кода, чем безуспешно пытался заняться уважаемый ValeryS, - себе дороже. Единственно, что остается, это подправить код в строках 8-10
C++
1
Mass[buf[i]] ++;
Конечно, unsigned char buf[123].
0
Модератор
Эксперт С++
 Аватар для zss
13773 / 10966 / 6491
Регистрация: 18.12.2011
Сообщений: 29,244
26.09.2016, 21:45
Это уже не актуально, но на будущее:
1.
Цитата Сообщение от Toryka Посмотреть сообщение
if (j=int(buff[i])){
В этой строке j ПРИСВАИВАЕТСЯ значение buff[i].
2.
Цитата Сообщение от Toryka Посмотреть сообщение
for (i=0;i<=123;i++){
C++
1
for (i=0;buff[i]!=0;i++){
При i=123 buff[i] не существует, т.к. последний элемент имеет индекс 122
3.
Цитата Сообщение от Toryka Посмотреть сообщение
for (j=0;j<=256;j++);{
Та же ошибка, что и в п.2. Плюс к этому тело цикла пустое (стоит точка с запятой)
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
26.09.2016, 21:45
Помогаю со студенческими работами здесь

Файловый ввод-вывод, ввод с клавиатуры и обработка массива структур
Добрый вечер)) У меня небольшой вопрос. Почему первые буквы (в названии книг) не выводит на экран? Само задание: О каждой книге ...

В заданном файле найти порядковый номер самого большого числа (файловый ввод/вывод)
Входной файл: input.txt Выходной файл: output.txt Женя купила 12 яблок и по приходу домой решила узнать массу каждого яблока....

Получить новый массив B, каждый элемент которого равен сумме соответствующего элемента массива А и минимального элемента массива А
1) Дан одномерный массив А. Получить новый массив B, каждый элемент которого равен сумме соответствующего элемента массива А и минимального...

Реализовать вывод массива объектов типа Student на консоль (файловый ввод/вывод)
Как сделать чтобы список студентов выводился на экран в конце? #include&lt;iostream&gt; #include&lt;stdio.h&gt; #include&lt;stdlib.h&gt; ...

Вывести номер наперстка, под которым окажется шарик после перемещений (файловый ввод/вывод)
Шулер показывает следующий трюк. Он имеет три одинаковых наперстка. Под первый (левый) он кладет маленький шарик. Затем он очень быстро...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru