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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
yurets17
1 / 1 / 0
Регистрация: 07.10.2013
Сообщений: 170
#1

Структура общежитие, сделать комплексную сортировку по наличию балкона + по площади припадающей на 1 жителя - C++

26.11.2013, 22:57. Просмотров 227. Ответов 4
Метки нет (Все метки)

Такое задание: дана структура общежитие, сделать комплексную сортировку по наличию балкона + по площади припадающей на 1 жителя!
Подкоректируйте код
C++
1
2
3
4
5
6
7
8
9
10
11
void sort2(){
    for(int i=0; i<size;i++){
        for(int j = i + 1; j<size; j++) {
            if (ar[i].ploscha/ar[i].meshk>ar[j].ploscha/ar[j].meshk&&ar[i].balk==true){
                gurt x =  ar[i];
                ar[i] =  ar[j];
                ar[j] =  x;
            }
       }
    }
}
Добавлено через 12 минут
помогите пожалуйста
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.11.2013, 22:57     Структура общежитие, сделать комплексную сортировку по наличию балкона + по площади припадающей на 1 жителя
Посмотрите здесь:

не могу сделать сортировку C++
помогите сделать сортировку массива. C++
Сделать сортировку строк по сумме элементов по возрастанию C++
Структура: Выполните сортировку данных по номеру билета C++
C++ Сделать сортировку или выбор из класса?
Сортировку вставками меняем на Пирамидальную сортировку и на Сортировку подсчётом C++
Как сделать сортировку файлов во время вывода? C++
Как правильно сделать сортировку? C++
C++ как сделать сортировку этого массива структур?
C++ Нужно сделать сортировку по дате рождения, по убыванию
C++ Как сделать сортировку по дате в массивве объединений
C++ Реализовать поиск и сортировку по заданному полю в массиве объектов пользовательского типа (структура Train)

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Folko
 Аватар для Folko
265 / 253 / 7
Регистрация: 27.09.2013
Сообщений: 877
Записей в блоге: 1
26.11.2013, 23:07     Структура общежитие, сделать комплексную сортировку по наличию балкона + по площади припадающей на 1 жителя #2
yurets17, for(int i=0; i<size-1;i++){
вроде должно быть по алгоритму сортировки, если не ошибаюсь...
yurets17
1 / 1 / 0
Регистрация: 07.10.2013
Сообщений: 170
26.11.2013, 23:55  [ТС]     Структура общежитие, сделать комплексную сортировку по наличию балкона + по площади припадающей на 1 жителя #3
Цитата Сообщение от Folko Посмотреть сообщение
yurets17, for(int i=0; i<size-1;i++){
вроде должно быть по алгоритму сортировки, если не ошибаюсь...
согласен, ошибся! но это проблему не решило! Все равно не сортирует правильно

Добавлено через 44 минуты
Цитата Сообщение от yurets17 Посмотреть сообщение
Такое задание: дана структура общежитие, сделать комплексную сортировку по наличию балкона + по площади припадающей на 1 жителя!
Подкоректируйте код
C++
1
2
3
4
5
6
7
8
9
10
11
void sort2(){
    for(int i=0; i<size;i++){
        for(int j = i + 1; j<size; j++) {
            if (ar[i].ploscha/ar[i].meshk>ar[j].ploscha/ar[j].meshk&&ar[i].balk==true){
                gurt x =  ar[i];
                ar[i] =  ar[j];
                ar[j] =  x;
            }
       }
    }
}
Добавлено через 12 минут
помогите пожалуйста
хоть идею подкиньте в чем ошибка?
Folko
 Аватар для Folko
265 / 253 / 7
Регистрация: 27.09.2013
Сообщений: 877
Записей в блоге: 1
27.11.2013, 00:07     Структура общежитие, сделать комплексную сортировку по наличию балкона + по площади припадающей на 1 жителя #4
yurets17, с алгоритмом сортировки по моему все в порядке (кроме той ошибки, что сказал ранее). Тут скорее в вашем условии проблема. Уверены, что правильно его составили?
yurets17
1 / 1 / 0
Регистрация: 07.10.2013
Сообщений: 170
27.11.2013, 00:46  [ТС]     Структура общежитие, сделать комплексную сортировку по наличию балкона + по площади припадающей на 1 жителя #5
Цитата Сообщение от Folko Посмотреть сообщение
yurets17, с алгоритмом сортировки по моему все в порядке (кроме той ошибки, что сказал ранее). Тут скорее в вашем условии проблема. Уверены, что правильно его составили?
не знаю! может и не правильно!
вот полный текст программы! только здесь нет еще никакого интерфейса!
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
#include <iostream>
#include <iomanip>
struct gurt{
    int numb;
    float ploscha;
    int meshk;
    bool balk;
};
gurt ar[10]={
    {1, 12.7, 3,true},
    {2, 12, 3,true},
    {3, 12.4, 3,false},
    {4, 14.7, 5,true},
    {5, 11.3, 2,false},
    {6, 12.2, 3,true},
    {7, 16.7, 5,true},
    {8, 11.1, 3,false}
};
int size=8;
void showAr();
void sort1();
void sort2();
using namespace std;
int main(){
showAr();
cout<<endl;
sort1();
showAr();
cout<<endl;
sort2();
showAr();
}
void sort1(){
    for(int i=0; i<size-1;i++){
        for(int j = i + 1; j<size; j++) {
            if (ar[i].numb<ar[j].numb){
                gurt x =  ar[i];
                ar[i] =  ar[j];
                ar[j] =  x;
            }
       }
    }
}
void sort2(){
    for(int i=0; i<size-1;i++){
        for(int j = i + 1; j<size; j++) {
            if (ar[i].ploscha/ar[i].meshk>ar[j].ploscha/ar[j].meshk&&ar[i].balk==true){
                gurt x =  ar[i];
                ar[i] =  ar[j];
                ar[j] =  x;
            }
       }
    }
}
void showAr(){
    for(int i=0;i<size;i++){
        cout<<setw(16)<<ar[i].numb
                <<setw(8)<<ar[i].ploscha
                <<setw(3)<<ar[i].meshk
                <<setw(6)<<setprecision(3)<<ar[i].balk<<endl;
    }
}
Yandex
Объявления
27.11.2013, 00:46     Структура общежитие, сделать комплексную сортировку по наличию балкона + по площади припадающей на 1 жителя
Ответ Создать тему
Опции темы

Текущее время: 08:59. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru