Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Pukanium
2 / 2 / 1
Регистрация: 30.11.2014
Сообщений: 23
#1

Анализ небольшого кода по файлам - C++

19.11.2015, 20:11. Просмотров 179. Ответов 3
Метки нет (Все метки)

Помогите пожалуйста с кодом!
Все вроде правильно и без синтаксических ошибок, но выдает "Abnormal program termination" при запуске и при наличии файлов с записями внутри; с пустыми файлами все ок. Без идей, как исправить...
Задача: даны два текстовых файла F.txt и G.txt состоящих из одинакового количества строк. Напишите программу, которая сравнивает строки данных файлов и выводит на экран порядковый номер несовпадающих строк.
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#include <iostream.h>
#include <fstream.h>
#include <conio.h>
#include <stdio.h>
#include <cstring.h>
void main()
{
string a,b;
bool o;
ifstream f;
ifstream g;
unsigned d;
int str=0;
f.open("F.txt");
g.open("G.txt");
while (!f.eof()||!g.eof())
{
getline(f,a);
getline(g,b);
str++;
o=true;
if (a.length()>b.length()||a.length()==b.length()) d=a.length(); else d=b.length();
for (unsigned i=0;i<d;i++)
if (a[i]!=b[i]) o=false;
if (o==false) cout<<"stroki "<<str<<" ne sovpadayut";
}
f.close();
g.close();
getch();
}
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.11.2015, 20:11
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Анализ небольшого кода по файлам (C++):

Разбор строчек небольшого кода - C++
Помогите разобрать каждую строку ( что она делает - описание ) #include &lt;iostream&gt; using namespace std; int main(){ unsigned...

Множество ошибок в проекте Visual Studio после небольшого изменения кода - C++
Работал над проектом, писал код как обычно. В процессе написания постоянно собираю проект. Вот написал небольшую функцию в 5 строк, включил...

Анализ кода программы, которая решает логическое уравнение - C++
Пишу прогу, которая решает логическое уравнение. Не компилируется... помогите разобраться, завтра зачёт. #include &lt;iostream&gt; ...

Математический анализ кода программы. Как работает rand()? - C++
Помогите, пожалуйста, с математическим анализом кода программы. #include &lt;iostream&gt; #include &lt;cstring&gt; #include &lt;ctime&gt; ...

Интерпретатор небольшого языка программирования на С++ - C++
Здравствуйте, уважаемые форумчане! Я тут где-то год назад прочитал тему Evg и #pragma о создании интерпретатора, меня эта тема очень...

Программирование небольшого приложения и хранение данных - C++
Всем привет! Такая штука - я решил вспомнить с++, так скажем прям в гущу кинуться. Я в принципе помню всё до классов и наследования....

3
Nosey
1349 / 400 / 107
Регистрация: 22.10.2014
Сообщений: 863
Завершенные тесты: 2
19.11.2015, 20:39 #2
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
у std::string определён оператор !=
т.е. можно писать так:
C++
1
2
3
4
5
6
7
getline(f,a);
getline(g,b);
str++;
if (a != b)
{
    cout << "stroki " << str << " ne sovpadayut";
}
И оно должно работать, разве что проблемы с доступностью файлов. Добавьте проверку:
C++
1
2
3
4
5
6
7
f.open("F.txt");
g.open("G.txt");
if (!f || !g)
{
    cerr << "can't open file" << endl;
    return 1;
}
1
Pukanium
2 / 2 / 1
Регистрация: 30.11.2014
Сообщений: 23
19.11.2015, 20:42  [ТС] #3
Цитата Сообщение от Nosey Посмотреть сообщение
разве что проблемы с доступностью файлов
ошибку нашел
вместо
C++
1
d=a.length(); else d=b.length();
C++
1
d=b.length(); else d=a.length();
указатель выходил за границу возможного, вот и получалась ошибка
0
Nosey
1349 / 400 / 107
Регистрация: 22.10.2014
Сообщений: 863
Завершенные тесты: 2
19.11.2015, 20:49 #4
Pukanium, Таки советую воспользоваться стандартным сравнением неравнства строк, поскольку как минимум если строки разной длины - они различны.
0
19.11.2015, 20:49
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.11.2015, 20:49
Привет! Вот еще темы с ответами:

Ошибка при сборке небольшого проекта. undefined reference to - C++
Здравствуйте. Задача программы - подсчет сколько раз в строке встречается каждый символ. Что-то вроде map, только список объектов класса....

Перевод небольшого кода из C# в C++ - C++ WinAPI
Здравствуйте. Не знаю туда ли я обращаюсь. Имею код, сделанный в Virtual Studio. Необходимо перевести его из C# в C++. using...

Ревью небольшого кода - Haskell
Хаскелл я изучаю совсем недавно, поэтому хотелось бы узнать, что и как можно было написать лучше. Задача такая. Задается входной...

Перевод небольшого кода из C++ в Delphi 7 - Delphi
Добрый день! Нужно перевести код: using System; public class Test { static void Main() { //Число в 3-ой сис-ме...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.