|
7 / 6 / 2
Регистрация: 19.08.2018
Сообщений: 108
|
||||||
Сравнить два текстовых файла07.10.2019, 23:17. Показов 3609. Ответов 14
Метки нет (Все метки)
Всем привет.
Пишу функцию, для сравнения двух файлов. В цикле while ошибка: не могу считать данные из файла(делал проверку на один файл - всё работает). Плиз, поправьте мою функцию или напишите свой вариант, потому как, те примеры, которые я нашел не работают с моей функцией. Благодарю. Кликните здесь для просмотра всего текста
0
|
||||||
| 07.10.2019, 23:17 | |
|
Ответы с готовыми решениями:
14
Как сравнить два текстовых файла? Сравнить 2 текстовых файла и вывести количество правильных ответов Сформировать два текстовых файла из целых чисел. Записать в третий файл минимальный элемент первого файла и максимальный элемент второго файла |
|
7438 / 5030 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
|
|
| 07.10.2019, 23:29 | |
Сообщение было отмечено IP_TCP как решение
Решение
IP_TCP, вместо 1 while напишите 2 while (отдельно для 1 файла, отдельно для 2 файла), а также добавьте в сравнение условие temp2 > temp1;
строки 4-5 и строку 8 уберите
1
|
|
|
7 / 6 / 2
Регистрация: 19.08.2018
Сообщений: 108
|
|
| 07.10.2019, 23:34 [ТС] | |
|
Yetty, Спасибо. 8 строка - да(я счетчиком проверял одно решение). А вот 4,5 почему не нужны? Я их убрал и все заработало.
0
|
|
|
7438 / 5030 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
|
||
| 07.10.2019, 23:38 | ||
|
1
|
||
|
7 / 6 / 2
Регистрация: 19.08.2018
Сообщений: 108
|
|
| 07.10.2019, 23:46 [ТС] | |
|
Yetty, да, так и есть. Мое почтение.
0
|
|
|
7438 / 5030 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
|
|
| 07.10.2019, 23:53 | |
|
IP_TCP, попробуйте вместо цикла while такую запись getline (fs1, temp1, '\0' );
1
|
|
|
7 / 6 / 2
Регистрация: 19.08.2018
Сообщений: 108
|
|
| 08.10.2019, 00:03 [ТС] | |
|
Yetty, Помогло, а то получалось, что он затирал предыдущую строку.
0
|
|
|
7438 / 5030 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
|
|
| 08.10.2019, 00:17 | |
|
IP_TCP, вот-вот. и ещё момент. наверное сделайте такие 2 проверки (>= это true) и (< это false) и все cout лучше убрать - обычно в функции bool их не располагают
1
|
|
|
7 / 6 / 2
Регистрация: 19.08.2018
Сообщений: 108
|
|
| 08.10.2019, 00:18 [ТС] | |
|
Yetty,
Кликните здесь для просмотра всего текста
Напишите программу, которая открывает два текстовых файла для ввода и один для вывода. Программа должна соединять соответствующие строки входных файлов, используя в качестве разделителя пробел, и записывать результаты в выходной файл. Если один файл короче второго, остальные строки более длинного файла также должны копироваться в выходной файл. Например, предположим, что первый входной файл имеет следующее содержимое: eggs kites donuts balloons hammers stones А второй файл — такое: zero lassitude finance drama Результирующий файл должен выглядеть следующим образом: eggs kites donuts zero lassitude balloons hammers finance drama stones Еще не понял пока. cout были для проверки.
0
|
|
|
7438 / 5030 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
|
|
| 08.10.2019, 00:31 | |
|
if (temp1 == temp2) return true;
return false; Добавлено через 7 минут IP_TCP, если такое условие, то что выше, Вам не подойдёт (разве что оставить для сравнения файлов - и то не уверен, нужно ли оно Вам вообще в этой задаче). придётся построчно считывать. и сравнивать нужно не файлы, а количество строк в файлах.
1
|
|
|
7 / 6 / 2
Регистрация: 19.08.2018
Сообщений: 108
|
|
| 08.10.2019, 00:35 [ТС] | |
|
Yetty, Так, это не все решение. Функция лишь будет сравнивать два файла. А в main уже компоновать третий файл. Я просто решил разбить задачу, потому что пока не до конца понимаю, как ее решить.
0
|
|
|
7438 / 5030 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
|
||
| 08.10.2019, 00:42 | ||
|
0
|
||
|
7 / 6 / 2
Регистрация: 19.08.2018
Сообщений: 108
|
|
| 08.10.2019, 00:58 [ТС] | |
|
Yetty, Сейчас, когда Вы написали - понятно. Меня видимо сбила эта фраза "Если один файл короче второго"
0
|
|
|
7438 / 5030 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
|
|
| 08.10.2019, 01:11 | |
|
IP_TCP, типичная ошибка авторов - условие не пишется, а пишется что-то на своей волне
зря всё делали -единственная польза - что Вы получили какую-то инф (которая правда непосредственно к задаче не относится) возможно кто-то предложит алгоритм получше, можете пока подумать над такими набросками: - найти количество строк в файле, где строк меньше: n - сделать цикл for от 1 до n, в нём: getline(fs1, temp1); out << temp1 << " "; getline(fs2, temp2); out << temp2 << "\n"; - для большего файла сделать цикл for от n+1 до m
0
|
|
|
7 / 6 / 2
Регистрация: 19.08.2018
Сообщений: 108
|
||
| 08.10.2019, 01:22 [ТС] | ||
|
Зря я написал, что понял. В задаче нет сравнения строк. Там написано, " Программа должна соединять соответствующие строки входных файлов".
Добавлено через 5 минут Yetty, Это Прата. Либо его переводят плохо, либо я понимаю его хр...во). Польза от написания функции, для сравнения двух файлов - бесценна.
0
|
||
| 08.10.2019, 01:22 | |
|
Помогаю со студенческими работами здесь
15
Сравнить два файла на эквивалентность Сравнить два любых файла на С++ Содержат ли два заданных текстовых файла одинаковые множества символов или нет?
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
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. . .
|
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так:
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347
Основана на STM32F303RBT6.
На борту пять. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|