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

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

Восстановить пароль Регистрация
 
yurets17
1 / 1 / 0
Регистрация: 07.10.2013
Сообщений: 170
26.11.2013, 22:57     Структура общежитие, сделать комплексную сортировку по наличию балкона + по площади припадающей на 1 жителя #1
Такое задание: дана структура общежитие, сделать комплексную сортировку по наличию балкона + по площади припадающей на 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++ Сделать сортировку или выбор из класса?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
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 жителя
Ответ Создать тему
Опции темы

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