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

Применить другую сортировку - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Нужен фильтр ввода данных http://www.cyberforum.ru/cpp-beginners/thread1115261.html
Собственно вот моя первая программа по переводе арабских цифр в римские (она переводит не в настоящую римскую систему, но суть не в этом). Столкнулся с проблемой проверки ввода данных, если ввести например "778gkdc8899" то считает 778 а остальное отбрасывает, и ошибку не выбивает - а нужно что бы выбивало ошибку при вводе любой НЕцифры! Также при вводе например 78.7 - не выбивает ошибку.( ...
C++ Разработка и отладка алгоритмов и программ Есть задание лабы: Разработать шаблон класса реализующего работу с матрицами переменной размерности. Тип эле- мента задается как параметр шаблона. Написать тестовую программу. Есть код задачи написаны тут: #include <iostream>//подключение библиотеки iostream #include <string>//подключение библиотеки string #include <time.h>//подключение библиотеки time.h using namespace std;//все... http://www.cyberforum.ru/cpp-beginners/thread1115253.html
C++ Рассчитать значение функции в заданной точке
Есть готовый код программы #include <stdio.h> #include <math.h> #include <cmath> void main() { float z1,z2,x,y; scanf("%f",&x,&y); z1=pow(x,-1/2); z2=3-z1+2/x;
C++ Объяснить программный код построчно
Объяснить красные строки кода программы построчно #include <cstdlib> #include <stdlib.h> using namespace std; #define N 10 int main(){ int **mas = new int*; int tmp; int sum; int sumcol;
C++ Создать меню с командами Input, Work, Exit http://www.cyberforum.ru/cpp-beginners/thread1115234.html
Создать меню с командами Input, Work, Exit. При выборе команды Exit приложение завершает работу. При выборе команды Input открывается диалоговое окно, содержащее: • три поля ввода типа TextBox с метками Radius, Height, Density; • группу из двух флажков (Volume, Mass) типа CheckBox; • кнопку типа Button. Обеспечить возможность: • ввода радиуса, высоты и плотности конуса; • выбора режима с...
C++ Упорядочивание массива по методу Хора #include <iostream> #include <cstring> using namespace std; void quicksort(char *items, int len); void qs(char *items, int left, int right); int main(){ setlocale(LC_ALL, "Russian"); подробнее

Показать сообщение отдельно
BeeTrain
0 / 0 / 0
Регистрация: 02.12.2013
Сообщений: 4

Применить другую сортировку - C++

10.03.2014, 12:02. Просмотров 203. Ответов 0
Метки (Все метки)

Здравствуйте! Помогите пожалуйста. Программа готова, но надо поменять метод сортировки. Вот текст задания:
Создать структурный шаблон, хранящий сведения о квартире: площадь, количество комнат, этаж, стоимость за квадратный метр, адрес. По требованию пользователя рассчитать среднюю стоимость всех квартир, организовать поиск данных о квартирах с требуемым количеством комнат и указанием этажа (данные отсортировать по стоимости квартиры), данные о квартирах, стоимость которых не превышает указанной.

Программа:
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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
#include <cstdlib>
#include <iostream>
#include <cstdio>
const int n = 3; //Задаем константой количество записей
 
//Объявляем класс квартира
class flatroom 
{
public:
   double square; //Площадь
   int count_rooms; //Количество комнат 
   int floor; // этаж
   double price; // цена за квадратный метр
   char address[40];    // адрес
}; 
 
using namespace std; //подключаем пространство имен, которое нам понадобится для потокового ввода-вывода
 
    
 
 
int main(int argc, char *argv[])
{
    
    setlocale(LC_ALL,"Russian"); // устанавливаем русскую локализацию
    flatroom flat[n]; // объявляем массив объектов класса
    for (int i = 0; i < n; i++) // вводим с клавиатуры данные о квартире
    {
      cout << "Информация о " << i+1 << "-й квартире: " << endl;
      cout << "Площадь: ";
      cin >> flat[i].square;
      cout << "Количество комнат: ";
      cin >> flat[i].count_rooms;
      cout << "Этаж: ";
      cin >> flat[i].floor;
      cout << "Цена за квадратный метр: ";
      cin >> flat[i].price;
      cout << "Адрес: ";
      cin >> flat[i].address;  
    }
    
    
    double average = 0; // обнуляем среднее значение стоимости квартиры
   
           for (int i = 0; i < n; i++) // в цикле находим суммарную стоимость всех квартир
           average+=flat[i].square * flat[i].price;
           average/=n; // делим ее на количество квартир
           cout << "Средняя стоимость квартиры = " << average << endl; // выводим среднее значение на экран
   
    int count_rooms;
    int floor;
    // вводим данные, которые нужны нам будут для поиска
    cout << "Введите количество комнат для искомой квартиры: ";
    cin >> count_rooms;
    cout << "Введите номер этажа для искомой квартиры: ";
    cin >> floor;
    flatroom flat_new[n]; // объявляем массив объектов класса
    int count = -1;
    for (int i = 0; i < n; i++) // если введенное количество комнат и этаж соответствуют нашим квартирам
    if ((flat[i].count_rooms == count_rooms) && (flat[i].floor == floor))
    {
       count++;
       flat_new[count] = flat[i];                         // записываем их в новый массив
    }
    // сортируем по возрастанию стоимости
    for (int i = 0; i < count-1; i++)
    for (int j = i+1; j < count; j++)
        if (flat_new[i].square * flat_new[i].price > flat_new[j].square * flat_new[j].price)
         {
                               // для этого проходим по массиву, делаем сравнение стоимостей и менем местами
           flatroom f = flat_new[i];
           flat_new[i] = flat_new[j];
           flat_new[j] = f;                      
         }
         // выводим на экран результат
         cout << "Количество квартир, удовлетворяющих заданным условиям: " << count + 1<< endl;
    for (int i = 0; i <= count; i++)
    cout << "Площадь: " << flat_new[i].square << "    Количество комнат: " << flat_new[i].count_rooms << "    Этаж: " << flat_new[i].floor <<
       "    Цена за квадратный метр: " << flat_new[i].price << "   Адрес: " << flat_new[i].address << endl;
    double flat_price;
    cout << "Введите стоимость, которую не должна превышать квартира: ";
    cin >> flat_price;
    // находим те квартиры, которые не превышают введенную с клавиатуры стоимость
    for (int i = 0; i < n; i++)
     if (flat[i].price * flat[i].square <= flat_price)
       cout << "Площадь: " << flat[i].square << "    Количество комнат: " << flat[i].count_rooms << "    Этаж: " << flat[i].floor <<
       "    Цена за квадратный метр: " << flat[i].price << "   Адрес: " << flat[i].address << endl;   
    system("PAUSE");
    return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru