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

Отсортировать массив(структуры) - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Конветпция n символа в s http://www.cyberforum.ru/cpp-beginners/thread696842.html
Вопрос вот собственно в чем зачем в этой сточке s = n % 10 + '0' мы прибавляем '0' /* itoa: преобразование n в строку s */ void itoa(int n, char s) { int i, sign; if ((sign = n) < 0) /* сохраняем знак */ n = -n; /* делаем n положительным */ i = 0; do { /* генерируем цифры в обратном порядке */ s = n % 10 + '0'; /* следующая цифра...
C++ Создать базу данных, в которой нужно вывести фрукты только красного цвета Ребята напишите пожалуйста программы: 1) Вывести символы с ключевыми символами а, ю. Если присутствует только символ не выводить. 2) Создать базу данных, в которой нужно вывести фрукты только красного цвета. Друзья, выручайте. Очень надо ... ((((( http://www.cyberforum.ru/cpp-beginners/thread696835.html
"Constant expression required" C++ Builder
void __fastcall TForm1::Button4Click(TObject *Sender) { int col; int value=StrToInt(Edit4->Text); int count=StringGrid1->ColCount; //-вот здесь ругаеться for(col=1; col<StringGrid1->ColCount; col++) { if(value==count) { StringGrid1->Cells=Edit5->Text;
C++ Работа с массивом указателей
Моя задача сделать прогу, которая предлагает пользователю ввести количество проданных книг за каждый месяц, а потом она это подсчитует. Главную задачу я смог реализовать, все считается нормально, но у меня никак не получается работать с массивом указателей для того, чтобы после каждого ввода указатель перемещался на другой месяц. Вот код: #include <iostream> using namespace std; int main() {...
C++ Массив простых множителей http://www.cyberforum.ru/cpp-beginners/thread696821.html
Суть задания такова: целое положительное число нужно представить в виде массива его простых множителей (произведение которых дает это число). У кого-то может было что-то похоже, есть код или просто кто-то может помочь советом, любой помощи буду благодарен. Добавлено через 7 минут Вообще, это сама суть задания, в целом нужно разработать структуру элементов данных класса в виде динамической...
C++ Проверка квадратной матрицы Доброго времени суток. Имеется такое задание: считать квадратную матрицу любого размера из текстового файла, посчитать определитель этой матрицы и вывести его в отдельный файл (используя fstream). Все это получилось, но вот в чем проблема, нужно сделать проверку этой самой исходной матрицы на корректность. То есть, если есть лишние элементы (выходящие за "квадратность"), лишние пробелы (между... подробнее

Показать сообщение отдельно
ozzy_b
2 / 2 / 0
Регистрация: 02.10.2012
Сообщений: 169
13.11.2012, 21:48     Отсортировать массив(структуры)
Задано сведения о кубиках: размер кубика (длина ребра), цвет (красный, желтый, зеленый или синий), материал (деревянный, металлический, картонный). Выдать на печать:
 количество кубиков каждого цвета и их суммарный объем;
 количество деревянных кубиков с ребром 3 см;
 количество металлических кубиков с ребром более 5 см;
 Отсортировать записи по их длине ребра.

Первые 3 задания я сделал, а вот как посортовать я не знаю. Друг дал "кусок" со своей програмы но я не знаю как его интерпретировать в свой код.

Мой код:
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
91
92
93
94
95
96
97
98
99
100
101
#include <iostream>
#include <stdio.h>
#include <conio.h>
const int m=4;
using namespace std;
struct cub
{
       int size;
       char color[10];
       char material[10];
};
void inp(cub [m]);
void out(cub [m]);
void count_color(cub [m]);
void count_wood_3(cub [m]);
void count_iron_5(cub [m]);
void sort (cub [m]);
int main()
{
    cub a[m];
    int cout_iron=0, V=0;
    inp(a);
    out(a);
    count_color(a);
    count_wood_3(a);
    count_iron_5(a);
    sort (a);
    getch();
}
void inp(cub a[m])
{
     cout<<"\n************************\n\tInput\n************************"<<endl;
     for(int i=0;i<m;i++)
     {
        cout<<"Input "<<i+1<<" cub"<<endl;
        cout<<"Input colour(red, green, blue, yellow):  ";
        cin>>a[i].color;
        cout<<"Input material(carton, wood, iron):  ";
        cin>>a[i].material;
        cout<<"Input size:  ";
        cin>>a[i].size;
        cout<<endl;
    }
}
void out(cub a[m])
{
    cout<<"\n************************\n\tOutput\n************************"<<endl;
    for(int i=0;i<m;i++)
     {
        cout<<"Entered "<<i+1<<" cub:"<<endl;
        cout<<"Color: ";
        cout<<a[i].color<<endl;
        cout<<"Material:  ";
        cout<<a[i].material<<endl;
        cout<<"Size:  ";
        cout<<a[i].size<<endl<<endl;
    }
}
void count_color(cub a[m])
{
    cout<<"\n************************\n\tCout color\n************************"<<endl; 
    int count_r=0, count_g=0, count_b=0, count_y=0;
    for(int i=0; i<m; i++)
    {
        if (strcmp(a[i].color,"red")==0)
            count_r++;
        if (strcmp(a[i].color,"yellow")==0)
            count_y++;
        if (strcmp(a[i].color,"blue")==0)
            count_b++;  
        if (strcmp(a[i].color,"green") == 0)
            count_g++;
     }
     cout<<endl<<"Red cubs count= "<<  count_r << "\tGreen cubs count= " << count_g << "\tBlue cubs count= " << count_b<< "\tYellow cubs count= " << count_y <<endl;
}
void count_wood_3(cub a[m])
{
    cout<<"\n************************\n\tOutput wood / size 3\n************************"<<endl; 
    int count=0;
    for(int i=0; i<m; i++)
    {
        if (strcmp(a[i].material,"wood")==0 && (a[i].size==3))
            count++;
    }
    cout<<"\nWood cubs with 3-size bone: "<<count<<endl;
}
void count_iron_5 (cub a[m])
{
    cout<<"\n************************\n\tOutput iron / size>5\n************************"<<endl;
    int count=0;
    for(int i=0; i<m; i++)
    {
        if (strcmp(a[i].material,"iron")==0 && (a[i].size>5))
            count++;
    }
    cout<<"\nIron cubs with >5-size bone: "<<count<<endl;
}
void sort (cub a[m])
{
    cout<<"\n************************\n\tOutput sort\n************************"<<endl;
}
Кусок кода сортировки:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
{
for(int i = 0;i < n;i++)
{
for(int j=n-1;j > i;j--)
{
if(mas[j-1].volume_OP < mas[j].volume_OP)
{
arr[j]=mas[j];
mas[j]=mas[j-1];
mas[j-1]=arr[j];
}
}
}
output(mas);
break;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 15:08. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru