|
0 / 0 / 0
Регистрация: 30.11.2014
Сообщений: 22
|
||||||
Ввод из файла в массив и нахождение наиболее встречающегося элемента30.11.2014, 10:42. Показов 3424. Ответов 43
Метки нет (Все метки)
Добрый день (вечер)! Нужно написать программу так, чтобы она создавала файл из рандомных чисел, далее нужно вывести содержимое этого файла на экран, затем в этом содержимом файла найти наиболее встречающийся символ и заменить его на '+'. Я сделал так, чтобы файл создавался, выводился на экран, а вот как найти наиболее встречающийся символ и заменить его на '+' понять не могу. Мои мысли сводятся к тому, что нужно содержимое файла записать в строчный массив, затем уже с этим массивом работать и искать символы, но как это реализовать, не могу понять.
Вот код моих наработок :
0
|
||||||
| 30.11.2014, 10:42 | |
|
Ответы с готовыми решениями:
43
Найти в массиве и вывести значение наиболее часто встречающегося элемента Найти в массиве и вывести значение наиболее часто встречающегося элемента.
|
|
26 / 26 / 17
Регистрация: 08.04.2012
Сообщений: 202
|
|
| 30.11.2014, 15:20 | |
|
Serjin, тогда есть метод привязанный к компилятору, я не знаю какой. у меня VS с дев я никогда не работал.
0
|
|
|
0 / 0 / 0
Регистрация: 30.11.2014
Сообщений: 22
|
|
| 30.11.2014, 15:23 [ТС] | |
|
Спасибо, теперь буду разбираться в том, что вы мне написали, спасибо за помощь
0
|
|
|
26 / 26 / 17
Регистрация: 08.04.2012
Сообщений: 202
|
||||||
| 30.11.2014, 15:24 | ||||||
0
|
||||||
|
0 / 0 / 0
Регистрация: 30.11.2014
Сообщений: 22
|
|
| 30.11.2014, 15:43 [ТС] | |
|
Заработало, но я заметил ошибку, вот в файле создались символы зцтпцщыи, а выводятся зцтпцщыизцтпцщыи, повторение идет
Добавлено через 5 минут Все, исправил, во второй функции два раза выводилось значение а Добавлено через 11 минут И еще, когда выводит содержание файла на экран, если случайно генерируется пробел, то он выводит только то, что стоит после пробела, что не является хорошо))
0
|
|
|
26 / 26 / 17
Регистрация: 08.04.2012
Сообщений: 202
|
|
| 30.11.2014, 15:56 | |
|
Serjin, вам тестером нужно работать, пробел там генерироваться не должен. Во всяком случае мне не удалось воспроизвести эту ошибку, но даже натыкав пробелов искусственно прога все равно их нормально выводит. включите не печатываемые знаки может то не пробел?
0
|
|
|
0 / 0 / 0
Регистрация: 30.11.2014
Сообщений: 22
|
|
| 30.11.2014, 16:02 [ТС] | |
|
Что-то он меняет не самый встречающийся символ, а самый первый, и если есть в последовательности символ, похожий на первый, то он тоже меняет его, а если повторающиеся символы в середине, то он их не меняет
Добавлено через 2 минуты И вопрос, почему стоит "-" перед рандомом?
0
|
|
|
26 / 26 / 17
Регистрация: 08.04.2012
Сообщений: 202
|
|
| 30.11.2014, 16:05 | |
|
Serjin, сейчас посмотрю. А то что если одинаковых по частоте символа 2(самых частых) он заменяет только первый из них я вам говорил. я не делал исключения. в массиве или переменных типа char код хранится в виде числового кода. отрицательный числовой код определенного диапазона это русские буквы
0
|
|
|
0 / 0 / 0
Регистрация: 30.11.2014
Сообщений: 22
|
|
| 30.11.2014, 16:18 [ТС] | |
|
ясно, мне просто с символами работать, я переделал на свой рандом, я вроде понял, теперь он меняет каждый самый встречающийся символ, но вот с пробелом, он начинает читать строчку и как только видит пробел, думает, что это новая строка и читает ее по новой
Добавлено через 56 секунд Вы не знаете функцию file.getline ? вроде она позволяет считать строчку целиком и вывести то, что в файле, или я не прав? Добавлено через 9 минут А можете мне case 3 прокомментировать? а то я не совсем понимаю, зачем нам столько массивов
0
|
|
|
26 / 26 / 17
Регистрация: 08.04.2012
Сообщений: 202
|
|
| 30.11.2014, 16:20 | |
|
Serjin, я не рассчитывал что вам не подайдут русские буквы. На работу с другим диапазоном. генерацию исключений я не делал, так не знал какой вариант вам подайдет, если часто встречаемых несколько. Все менять на плюсы и т.д. Можете сказать с каким знаками, диапозоном или буквами будете работать я посмотрю
Добавлено через 13 секунд ок сейчас
0
|
|
|
0 / 0 / 0
Регистрация: 30.11.2014
Сообщений: 22
|
|
| 30.11.2014, 16:25 [ТС] | |
|
Вот мой рандом (rand()%91+32) (то есть с 32 до 122)
Добавлено через 4 минуты Вот все работает как надо, только с пробелом не понятно
0
|
|
|
26 / 26 / 17
Регистрация: 08.04.2012
Сообщений: 202
|
|
| 30.11.2014, 16:29 | |
|
В этот диапозон входят и знаки =- и тп. ок скиньте файл текстовый. скиньте ваш код. У вас при выводе возникают ошибки при кейс 2?
Добавлено через 2 минуты Serjin, если ошибки связаны только с пробелом можете убрать его из ранжирования он как раз 32. т.е. сделать с 33
0
|
|
|
0 / 0 / 0
Регистрация: 30.11.2014
Сообщений: 22
|
||||||
| 30.11.2014, 16:35 [ТС] | ||||||
|
Сейчас скину, да, ошибка при выводе в кейс 2, сейчас увидите
Добавлено через 4 минуты Я думаю еще надо сделать так, что если нет встречающего символа, то он никакой не менял, а то он меняет всегда первый символ, если нет повторяющегося, так как сравнивает с первым символом (если можно, конечно), и еще я жду комментарии к case 3, извините за то, что вас отвлекаю.
0
|
||||||
|
26 / 26 / 17
Регистрация: 08.04.2012
Сообщений: 202
|
||||||
| 30.11.2014, 17:43 | ||||||
Сообщение было отмечено Serjin как решение
Решение
0
|
||||||
|
0 / 0 / 0
Регистрация: 30.11.2014
Сообщений: 22
|
|
| 30.11.2014, 17:48 [ТС] | |
|
Спасибо, вот все жду комментарии к case 3, я вроде разобрался, но нужно перепроверить себя, заранее спасибо
Добавлено через 2 минуты Тем более после подправки кода в case 3
0
|
|
|
26 / 26 / 17
Регистрация: 08.04.2012
Сообщений: 202
|
||||||
| 30.11.2014, 18:08 | ||||||
Сообщение было отмечено Serjin как решение
Решение
1
|
||||||
|
0 / 0 / 0
Регистрация: 30.11.2014
Сообщений: 22
|
||||||
| 30.11.2014, 18:45 [ТС] | ||||||
|
Спасибо большое, прям огромное спасибо, теперь буду знать, как реализовывать такие программ, спасибо за книжку, очень помогает, еще раз, большое спасибо
Добавлено через 12 минут А вот смотрите еще, программа не нашла часто встречающийся символ, если t.txt файл имеет содержание - )y0#$h)`7] , теперь, как я понял, он первую не считает за символ Добавлено через 3 минуты Вроде исправил, в
0
|
||||||
|
26 / 26 / 17
Регистрация: 08.04.2012
Сообщений: 202
|
|
| 02.12.2014, 16:40 | |
|
0
|
|
|
0 / 0 / 0
Регистрация: 30.11.2014
Сообщений: 22
|
||||||
| 02.12.2014, 16:44 [ТС] | ||||||
|
Спасибо, я вот думаю, как же побороть все-таки проблему с пробелом, нашел, как сделать так, чтобы он выводил с ним нормально
0
|
||||||
|
26 / 26 / 17
Регистрация: 08.04.2012
Сообщений: 202
|
|
| 02.12.2014, 16:51 | |
|
0
|
|
|
0 / 0 / 0
Регистрация: 30.11.2014
Сообщений: 22
|
||
| 02.12.2014, 16:55 [ТС] | ||
) , из-за того, что в третьем кейсе мы пишем просто в переменную а, которая имеет сточный тип, происходит и ошибка, так как пробел считается новой строкой, а вот getline прям просто строчку копирует и не меняет ничего, я пробовал, но он ругается и с массивом не работает
0
|
||
| 02.12.2014, 16:55 | |
|
Найти в массиве и вывести значение наиболее часто встречающегося элемента Нахождение в массиве элемента наиболее близкому к заданному числу Удаление из массива наиболее часто встречающегося значения Удаление из массива наиболее часто встречающегося значения Поиск наиболее часто встречающегося подмножества с помощью Select Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Транслитерация текста с кириллицы на латиницу (вариант №2)
Maks 13.11.2026
Обновленная версия ранее созданной обработки.
Добавлено:
- Проверка исходного текста на кириллицу, через обращение к стандартной функции "ТолькоКириллицаВСтроке" из общего модуля. . .
|
Часы с термометром и праздничным календарем
yariko 12.11.2026
Сегодня мы рассмотрим как можно сделать отличные многофункциональные часы.
Итак, поставим конкретную задачу: разработать часы с календарем, двумя термодатчиками, выводом поздравительных сообщений. . .
|
Транслитерация текста с кириллицы на латиницу (вариант №1)
Maks 11.11.2026
Решил облегчить жизнь себе и коллегам админам при создании электронных почтовых ящиков для пользователей, в результате написал обработку "Транслитерация текста" с кириллицы на латиницу, а в ней. . .
|
Книги по геймдизайну, левел-дизайну, игровым механикам и проектированию игрового опыта
8Observer8 08.11.2026
Содержание блога | English Version
1. 2003 - 06 - Designing Virtual Worlds (1st Edition)
Автор: Richard A. Bartle | Объем: 768 стр.
Ссылки: Amazon
. . .
|
|
Родители токсичные абьюзеры по отношению к своим детям ругают их оскорбляют не любят
zorxor 08.11.2026
Жить в атмосфере постоянных оскорблений, критики и холодности со стороны родителей — это тяжелое и болезненное испытание, которое оставляет глубокие эмоциональные раны. Токсичное и абьюзивное. . .
|
Как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы. Ответ от Джемени ИИ.
zorxor 08.11.2026
Джемени, как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы.
Многие люди, возвращаясь домой, сразу переодеваются в максимально свободную одежду или вовсе предпочитают. . .
|
Паттерн очереди действий/команд (Action / Command Queue). Система очереди действий и кат-сцен с SDL3 Callbacks, cglm и OpenGL
8Observer8 07.11.2026
Содержание блога | English Version
Руководство для начинающих по реализации паттерна очереди действий/ команд (Action / Command Queue) на C++ (C++20) с использованием официального SDL3 Callbacks. . .
|
Проверка полного ФИО в типовом справочнике
Maks 07.11.2026
Решение реализовано в конфигурации КА2, на примере справочника "КонтактныеЛицаПартнеров".
Задача:
Запрет инициалов.
Не допускаеть использование сокращений вида "И. И. ", "И. И. ", "И И" и. . .
|