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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Сортировка и структуры http://www.cyberforum.ru/cpp-beginners/thread1000968.html
Задача : "Имеется список 10 политических деятелей. Каждый из 100 опрошенных называет трех политиков, и назначает каждому из них одно из первых 3-х мест. Вывести на экран фамилию политика набравшего наибольшее число первых мест. Если таких несколько, то вывести фамилии всех участников" Вот мои наработки: #include <iostream> #include <cstdlib> #include <ctime> #include <string> using...
C++ Вычислите бесконечную сумму с заданной точностью Всем привет надо написать программу следуя этому условию:вычислите бесконечную сумму с заданной точностью Е(Е>0).Считайте что требуемая точность достигнута если вычислена сумма нескольких первых слагаемых и очередное слагаемое оказалось по модулю меньше чем Е - это и все последующие слагаемые можно уже не учитывать. (Прошу прощения за качество изображения)Кто не поймет пишите все расшифрую... http://www.cyberforum.ru/cpp-beginners/thread1000966.html
C++ Захотел дома параллельно С++ немного (пока) освоить. Хотелось бы кой какой инфы
В общем попробовал я дома MS VS2010 Express C++ (native) в консольке по Шилдту потренироваться. Быстро наскучило. Хочется: другую IDE. Пока взял Code Blocks c GNU GCC. Этот компилятор сойдет для начала ? (почему то пришлось путь ему в настройках в ручную указать. После установки не было. Детектил только MS). Но заработало. Еще пришлось locale.h подключить. А то русские буквы не выводились....
Visual C++ Дорисовать круг в цикле
Задание: Вывести в элемент диалога Static Text изображение прямоугольника и концентрических кругов разного цвета, расположенных согласно рис. 2. Пользователь задает три компоненты цвета центральных кругов и толщину линии обводки в пикселях. Рисунок прилагаю Вот кусок программы, пока рисуется только один круг, нужно еще 2 добавить в цикле, попробовал-никаких изменений void...
C++ В одномерном массиве, состоящем из n вещественных элементов, вычислить: http://www.cyberforum.ru/cpp-beginners/thread1000920.html
В одномерном массиве, состоящем из n вещественных элементов, вычислить: а) номер минимального элемента массива; б) сумму элементов массива, расположенных между первым и вторым отрицательными элементами. в) преобразовать массив таким образом, чтобы сначала располагались все элементы, модуль которых не превышает 1, а потом - все остальные. Заранее спасибо =)
C++ Задача с факториалами Здравствуйте. Помогите пожалуйста. Нужно узнать какого размера можно вычислить факториал в типе данных long int и unsigned long int подробнее

Показать сообщение отдельно
nedsi
2 / 2 / 0
Регистрация: 18.09.2013
Сообщений: 65
07.11.2013, 19:40     Не работает функция сортировки
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");
В чем проблема? Благодарю.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 07:42. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru