Добрый день!! Прошу помощи с алгоритмом.Что то идет не так.Суть программы : есть 2 файла.в одном из них хранится нное количество слов,записанных через пробел(слово1 слово2 слово2).во втором хранится нное количество пар слов с запятой между ними .т.е слово1,слово2 слово3,слово4. Программа ищет в первом файле слова, которые во втором файле встречаются слева от запятой и заменяет их словом из той же пары словом ,которое находится с права от запятой. Проблема: программа записывает лишние символы в массив,в который идут слова из второго файла.Из за чего 2 слова никогда не могут буть равны друг другу.
| Код | while(file) { o=0; i=0; while (file) { file.get(ch); if (ch==' ') { file.peek(); i--; break; } if(file) p[i]=ch; cout<<'p'<<p[i]<<i<<"\n"; i++; }
ifstream check("file2.txt",ios::in|ios::binary) ; while(check) { while(check) { check.get(ch); if (ch==',') { while(ch!=' ') { check.peek(); check.get(ch); } o-=o; break; } if(check) r[o]=ch; cout<<'r'<<r[o]<<o<<"\n"; o++; }
}
}/ cout <<"file2"<<r<<"\n"; cout <<"file1"<<p<<"\n";
if (r==p) //не бывает { cout <<i<<o; cout <<"true\n"; }
while(o>0) { r[o]='\0'; o--; }
while(i>0) { p[i]='\0'; i--; }
}
|
|