|
|
|
| Привет!
Помогите, пожалуйста, найти ошибку.
Задача: Дан текстовый файл с какой-то информацией. Нужно упорядочить эту информацию.
Напр.:
Дано: бв
гжав
амы
Нужно: амы
бв
гжав
Вот, что получилось написать:
#include <iostream.h>
#include <conio.h>
#include <fstream.h>
main()
{
char ch[100], buffer, a;
int i,j,k,l;
fstream fil("C:\fil.txt", ios::in | ios::out);
i=0;
while(!fil.eof())
{
fil.get(buffer);
ch[i]=buffer;
i++;
}
for(j=0; j<100; j++)
{
if (ch[j]<ch[j+1])
{
a=ch[j];
ch[j]=ch[j+1];
ch[j+1]=a;
}
}
for(k=0; k<100; k++)
{
fil<<ch[k]<<endl;
}
fil.close();
return 0;
} | |
|
|
|
|
|
|
|
для: molodzo
(02.08.2007 в 11:54)
| | Тип char представляет один символ а не строку.
Алгоритм сортировки неверен. | |
|
|
|
|
|
|
|
для: oleg_alexeev
(02.08.2007 в 16:02)
| | А по-конкретнее не можешь сказать? А то я в С++ еще не очень... | |
|
|
|
|
|
|
|
для: molodzo
(03.08.2007 в 23:33)
| | Про char и строки лучше почитать в учебниках по C/C++.
В алгоритме сортировки не хватает ещё одного цикла - без него получается что просто максимальный элемент ставится в конец массива, а предыдущие так и остаются не отсортированными. | |
|
|
|