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

Элементы массивов a и b отсортировать в порядке возрастания. Образовать из этих массивов "c" из M+N элементов - C++

Восстановить пароль Регистрация
 
Daggett0
0 / 0 / 0
Регистрация: 30.01.2013
Сообщений: 22
19.01.2014, 13:25     Элементы массивов a и b отсортировать в порядке возрастания. Образовать из этих массивов "c" из M+N элементов #1
1.даны массивы a[N] и b[M]. элементы массивов a и b отсортировать в порядке возрастания.образовать из этих массивов "c" из M+N элементов. количества M,N и значения элементов массивов a,b ввести с клавиатуры. ограничения: M<=10, N<=10, диапазон значений элементов [-40;40], тип элементов - целые.

2.дана прямоугольная матрица b[M][N].определить индекс столбца, среднее арифметическое значение элементов которого максимально. если таких столбцов несколько,то выдать наибольшее из их индексов.элементы матрицы задать с помощью генератора случайных чисел. значения M,N ввести с клавиатуры. ограничения: M<=10, N<=10, диапазон значений элементов [-5;25]
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.01.2014, 13:25     Элементы массивов a и b отсортировать в порядке возрастания. Образовать из этих массивов "c" из M+N элементов
Посмотрите здесь:

Отсортировать элементы с четными индексами в порядке убывания, нечетные - возрастания C++
Если какие-то элементы массивов одинаковы, то вывести номера этих элементов C++
Из двух массивов чисел образовать третий, и сортировать числа в порядке невозрастания C++
C++ Две задачи на тему "Организация и обработка массивов данных"
Отсортировать матрицу в порядке возрастания элементов C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MicM
 Аватар для MicM
820 / 487 / 90
Регистрация: 29.12.2009
Сообщений: 1,097
Завершенные тесты: 1
19.01.2014, 13:39     Элементы массивов a и b отсортировать в порядке возрастания. Образовать из этих массивов "c" из M+N элементов #2
Цитата Сообщение от Daggett0 Посмотреть сообщение
1.даны массивы a[N] и b[M]. элементы массивов a и b отсортировать в порядке возрастания.образовать из этих массивов "c" из M+N элементов. количества M,N и значения элементов массивов a,b ввести с клавиатуры. ограничения: M<=10, N<=10, диапазон значений элементов [-40;40], тип элементов - целые.
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
#include <iostream>
 
void sort (int *a,int size)
{
    int tmp;
    bool flag;
    do
    {
        flag = false;
        for (int i=0; i<size-1; i++)
        {
            if (a[i+1]<a[i])
            {
                flag = true;
                tmp = a[i+1];
                a[i+1] = a[i];
                a[i] = tmp;
            }
        }
    }
    while (flag);
}
 
void print (int *a,int size)
{
    for (int i=0; i<size; i++)
        std::cout <<a[i] <<' ';
    std::cout <<std::endl;
}
 
int main()
{
    int N,M;
    std::cout <<"N,M = ";
    std::cin >> N >> M;
    int *a = new int[N], *b = new int[M];
    std::cout <<"A: \n";
    for (int i=0; i<N; i++)
        std::cin >> a[i];
    std::cout <<"B: \n";
    for (int i=0; i<M; i++)
        std::cin >> b[i];
    sort (a,N);
    sort (b,M);
    int *c = new int[N+M],k = 0;
    for (int i=0; i<N+M; i++)
        if (i<N)
            c[i] = a[i];
        else c[i] = b[k++];
    print (a,N);
    print (b,M);
    print (c,N+M);
    delete [] a;
    delete [] b;
    delete [] c;
    return 0;
}
Ev[G]eN
Эксперт С++
 Аватар для Ev[G]eN
5093 / 1531 / 381
Регистрация: 23.01.2011
Сообщений: 3,148
19.01.2014, 18:23     Элементы массивов a и b отсортировать в порядке возрастания. Образовать из этих массивов "c" из M+N элементов #3
Цитата Сообщение от Daggett0 Посмотреть сообщение
2.дана прямоугольная матрица b[M][N].определить индекс столбца, среднее арифметическое значение элементов которого максимально. если таких столбцов несколько,то выдать наибольшее из их индексов.элементы матрицы задать с помощью генератора случайных чисел. значения M,N ввести с клавиатуры. ограничения: M<=10, N<=10, диапазон значений элементов [-5;25]
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
#include <iostream>
#include <iomanip>
#include <random>
 
int main()
{
    std::default_random_engine generator;
    std::uniform_int_distribution <> distribution(-5, 25);
 
    size_t rowsCount;
    std::cout << "N: ";
    std::cin >> rowsCount;
 
    size_t colsCount;
    std::cout << "M: ";
    std::cin >> colsCount;
 
    int **matrix = new int *[rowsCount];
    for (size_t i = 0; i < rowsCount; i++) {
        *(matrix + i) = new int [colsCount];
        for (size_t j = 0; j < colsCount; j++) {
            std::cout << std::setw(5) << (*(*(matrix + i) + j) = distribution(generator));
        }
        std::cout << std::endl;
    }
 
    int firstColAverage(0);
    for (size_t i = 0; i < rowsCount; i++) {
        firstColAverage += *(*(matrix + i));
    }
    firstColAverage /= rowsCount;
 
    size_t maximalAverageIndex(0);
    int maximalAverage(firstColAverage);
    for (size_t j = 1; j < colsCount; j++) {
        int currentAverage(0);
        for (size_t i = 0; i < rowsCount; i++) {
            currentAverage += *(*(matrix + i) + j);
        }
        currentAverage /= rowsCount;
        if (currentAverage >= maximalAverage) {
            maximalAverage = currentAverage;
            maximalAverageIndex = j;
        }
    }
    std::cout << "Maximal average: " << maximalAverage << "; Col index: " << (maximalAverageIndex + 1) << ';' << std::endl;
 
    for (size_t i = 0; i < rowsCount; i++) {
        delete [] *(matrix + i);
    }
    delete [] matrix;
    matrix = nullptr;
 
    std::system("pause");
    return 0;
}
Daggett0
0 / 0 / 0
Регистрация: 30.01.2013
Сообщений: 22
20.01.2014, 20:14  [ТС]     Элементы массивов a и b отсортировать в порядке возрастания. Образовать из этих массивов "c" из M+N элементов #4
выдает ошибку: fatal error C1083: Не удается открыть файл include: random: No such file or directory
Yandex
Объявления
20.01.2014, 20:14     Элементы массивов a и b отсортировать в порядке возрастания. Образовать из этих массивов "c" из M+N элементов
Ответ Создать тему
Опции темы

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