Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
yurets17
1 / 1 / 2
Регистрация: 07.10.2013
Сообщений: 170
#1

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

26.11.2013, 22:57. Просмотров 270. Ответов 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 минут
помогите пожалуйста
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.11.2013, 22:57
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Структура общежитие, сделать комплексную сортировку по наличию балкона + по площади припадающей на 1 жителя (C++):

Структура Znak. Как сделать сортировку по знакам зодиака?
Описать структуру с именем ZNAK, содержащую следующие поля: • фамилия, имя; ...

Структура "Поезд". Как сделать сортировку по алфавиту в программе
#include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; #include &lt;string.h&gt; #define...

Не используя сортировку, написать макрос нумерующий регионы по площади
Добрый день! Помоги написать макрос. Задание: Не используя сортировку,...

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


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

Или воспользуйтесь поиском по форуму:
4
Folko
265 / 253 / 27
Регистрация: 27.09.2013
Сообщений: 877
Записей в блоге: 1
26.11.2013, 23:07 #2
yurets17, for(int i=0; i<size-1;i++){
вроде должно быть по алгоритму сортировки, если не ошибаюсь...
0
yurets17
1 / 1 / 2
Регистрация: 07.10.2013
Сообщений: 170
26.11.2013, 23:55  [ТС] #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 минут
помогите пожалуйста
хоть идею подкиньте в чем ошибка?
0
Folko
265 / 253 / 27
Регистрация: 27.09.2013
Сообщений: 877
Записей в блоге: 1
27.11.2013, 00:07 #4
yurets17, с алгоритмом сортировки по моему все в порядке (кроме той ошибки, что сказал ранее). Тут скорее в вашем условии проблема. Уверены, что правильно его составили?
0
yurets17
1 / 1 / 2
Регистрация: 07.10.2013
Сообщений: 170
27.11.2013, 00:46  [ТС] #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;
    }
}
0
27.11.2013, 00:46
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru