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

Не работает функция сортировки - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Сортировка и структуры http://www.cyberforum.ru/cpp-beginners/thread1000968.html
Задача : "Имеется список 10 политических деятелей. Каждый из 100 опрошенных называет трех политиков, и назначает каждому из них одно из первых 3-х мест. Вывести на экран фамилию политика набравшего...
C++ Вычислите бесконечную сумму с заданной точностью Всем привет надо написать программу следуя этому условию:вычислите бесконечную сумму с заданной точностью Е(Е>0).Считайте что требуемая точность достигнута если вычислена сумма нескольких первых... http://www.cyberforum.ru/cpp-beginners/thread1000966.html
C++ Захотел дома параллельно С++ немного (пока) освоить. Хотелось бы кой какой инфы
В общем попробовал я дома MS VS2010 Express C++ (native) в консольке по Шилдту потренироваться. Быстро наскучило. Хочется: другую IDE. Пока взял Code Blocks c GNU GCC. Этот компилятор сойдет для...
C++ В одномерном массиве, состоящем из n вещественных элементов, вычислить:
В одномерном массиве, состоящем из n вещественных элементов, вычислить: а) номер минимального элемента массива; б) сумму элементов массива, расположенных между первым и вторым отрицательными ...
C++ Задача с факториалами http://www.cyberforum.ru/cpp-beginners/thread1000905.html
Здравствуйте. Помогите пожалуйста. Нужно узнать какого размера можно вычислить факториал в типе данных long int и unsigned long int
C++ Как перезаписать файл? Использую потоки fstream, не могу найти информации о том, как перезаписать файл или же вернуть указатель на {0;0} файла подробнее

Показать сообщение отдельно
nedsi
2 / 2 / 0
Регистрация: 18.09.2013
Сообщений: 65

Не работает функция сортировки - C++

07.11.2013, 19:40. Просмотров 213. Ответов 3
Метки (Все метки)

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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
void Sort(char path[])
{
    Rect *MyRect = new Rect [100]; //дин массив
    Rect temp;                  //буффер
    int k = 0,x1,y1,x2,y2;      //вершины прямоугольника
    char buff[5];               //буфер для чтения вершин с файла
    fstream file(path);         //открытие для чтения
    if (!file) exit(1);         //если не открылся файл  - > безопасный выход
    else 
        while (true)
        {
            if (file.eof()) break; //проверка на открытие
            file>>buff;             //сичтал первый элемент
            x1 = atoi(buff);        //перевел в int
            file>>buff;
            y1 = atoi(buff);
            file>>buff;
            x2 = atoi(buff);
            file>>buff;
            y2 = atoi(buff);
            MyRect[k] = Rect(x1,y1,x2,y2); // вызов конструктора для k-го элемента массива
            k++;
        }
        for ( int i =0; i<k; i++) 
        {
            for (int j = 0; j<k-1; j++)
            {
                if (MyRect[j].GetArea()<MyRect[j+1].GetArea()) //сортирую элементы по упаданию площади
                {
                    temp = MyRect[j];
                    MyRect[j] = MyRect[j+1];
                    MyRect[j+1] = temp;
 
                }
            }
        }
    int i = 1;
    delete [] MyRect; // освобождение памяти
    file.close(); // закрытие файла
    fstream f(path,ios::trunc); // ios::trunk насколько я понял, удаляет существовавший файл и создает новый
    while (true)
    {
        if (k == 0) break;
        f<<MyRect[i].ItsUpperLeftGetX(); // запись в файл
        f<<" "<<MyRect[i].ItsUpperLeftGetY();
        f<<" "<<MyRect[i].ItsLowerRightGetX();
        f<<" "<<MyRect[i].ItsLowerRightGetY()<<"\n";
        k--;
        i++;
    }
    f.close();
}
Реакции 0! Вызываю так:
C++
1
Sort("E:\\data.txt");
В чем проблема? Благодарю.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru