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

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

Войти
Регистрация
Восстановить пароль
 
robert19
26 / 26 / 3
Регистрация: 26.03.2010
Сообщений: 305
#1

Напишите функцию, упорядочивающую элементы массива по сумме первого и второго поля, которая записывается в третье поле, в порядке возрастания - C++

02.05.2010, 15:19. Просмотров 647. Ответов 1
Метки нет (Все метки)

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

Сам код:
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
#include<stdlib.h>
#include <string.h>
#include <stdio.h>
 
struct MyStruct{ //структура с тремя целочисленными полями
int x;
int y;
int b;
};
//функция, осуществляющую ввод значений в элементы массива с консоли
void input(int n, MyStruct* mas){
for(int i=0; i<n; i++){
printf("mas[%i].x: ",i);
scanf("%i",&mas[i].x);
printf("mas[%i].y: ",i);
scanf("%i",&mas[i].y);
}
return;
}
//функция, определяющую структуру b
int Summ(int n, MyStruct* mas){
 
for(int i=0; i<n; i++){
mas[i].b = mas[i].x + mas[i].y;
}
for (int i=0; i<n; i++){
    printf("%i  ",mas[i].b);
}
return 0;
}
//сортировка по возростанию
int Sort(int n, MyStruct* mas){
    for (int i=0; i<n; i++){
        for(int j=i; j<n; j++){
            if(mas[i].b > mas[j].b){
                MyStruct temp = mas[i]; mas[i]=mas[j]; mas[j] = temp;
            }
        }
        printf("%i  ",mas[i].b);
    }
return 0;
}
 
int main(){
const int size = 5;
MyStruct masMyStruct[size]; 
input(size, masMyStruct);
Sort(size, masMyStruct);
printf("%i\n", Summ(size, masMyStruct));
printf("%i\n", Sort(size, masMyStruct));
return 0;
}
Добавлено через 1 час 44 минуты
парни ну что трудно проверить чтоль?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.05.2010, 15:19
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Напишите функцию, упорядочивающую элементы массива по сумме первого и второго поля, которая записывается в третье поле, в порядке возрастания (C++):

Создать функцию которая выведет элементы в убывающем порядке, и покажет произведение первого и последнего элемента массива - C++
создать одномерный массив, размером n с элементами типа real, создать функцию которая выведет элементы в убывающем порядке, и покажет...

Напишите функцию, которая выводит элементы в следующем порядке: - C++
Дан массив A размера N. Напишите функцию, которая выводит его элементы в следующем порядке: AN, A0, AN-1, A1, AN-2, A2, … .

Напишите функцию, которая выводит его элементы в следующем порядке: - C++
15. Дан массив A размера N. Напишите функцию, которая выводит его элементы в следующем порядке: A1, AN, A2, AN–1, A3, AN–2, … .

Написать функцию, сортирующую в порядке возрастания элементы одномерного массива - C++
Написать функцию, сортирующую в порядке возрастания элементы одномерного массива. В главной программе вызвать функцию для двух разных...

Дан массив A размера N. Напишите функцию, которая выводит его элементы в следующем порядке: - C++
Дан массив A размера N. Напишите функцию, которая выводит его элементы в следующем порядке: AN-1,A0,AN-2,A1,AN-3,A2,... . #include...

Описать функцию, которая определяет, входят ли все элементы первого списка в состав второго списка. - C++
Описать функцию, которая определяет, входят ли все элементы первого списка в состав второго списка. на с++

1
robert19
26 / 26 / 3
Регистрация: 26.03.2010
Сообщений: 305
02.05.2010, 15:29  [ТС] #2
Я просто не понимаю от куда берутся эти числа:
0
Миниатюры
Напишите функцию, упорядочивающую элементы массива по сумме первого и второго поля, которая записывается в третье поле, в порядке возрастания  
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.05.2010, 15:29
Привет! Вот еще темы с ответами:

Реализовать функцию, которая переписывает элементы входного массива в обратном порядке - C++
Реализовать функцию, которая переписывает элементы входного массива в обратном порядке. на вход функция получает указатель на первый...

Получить третий массив C[15] по правилу: вначале элементы первого массива, затем элементы второго массива - C++
Даны массивы A, B. Нужно получить третьи массив C состоящий: вначале элементы первого массива, затем элементы второго массива.

Расположить элементы первой половины одномерного массива в порядке возрастания, а второй - в порядке убывания - C++
Нужно расположить элементы первой половины одномерного массива в порядке возрастания, а второй половины массива в порядке убывания. Данная...

Упорядочить элементы массива в порядке возрастания, все элементы больше нуля увеличить в 3 раза - C++
Помогите пожалуйста Нужна прога: Есть массив X(n). Упорядочить его элементы в порядке возрастания, все элементы больше нуля...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

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