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

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

Войти
Регистрация
Восстановить пароль
 
Mishkarez
0 / 0 / 0
Регистрация: 22.11.2016
Сообщений: 1
#1

Сформировать из матриц пару одномерных массивов - C++

22.11.2016, 11:01. Просмотров 67. Ответов 0
Метки нет (Все метки)

Ввести матрицы X1 , X2 . Сформировать из матриц пару одномерных массивов Y1 и Y2, в которые поместить элементы, превышающие среднее арифметическое соответствующих матриц. (При решении реализовать процедуры ввода и вывода массивов: Vvod2m(A,N,M,Name), Vivod2m(A,N,M,Name), Vivod1m(A,N,Name); процедуру Form(A,Na,Ma,B,Nb,Chislo) – формирование из элементов двумерного массива A, превышающих значение Chislo, одномерного массива B; функцию SrA(A,N,M):real – среднее арифметическое элементов двумерного массива)

Мой код:
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
#include <iostream>
void Vvod2m(int a[10][10], int &n, int &m)
{
    std::cout << "\nVvod n,m";
    std::cin >> n >> m;
    for (int i = 0; i < n; i++)
        for (int j = 0; j < m; j++)
        {
            std::cout << "\na[" << i << "][" << j << "]";
            std::cin >> a[i][j];
        }
}
void Vivod2m(int a[10][10], int n, int m)
{
    for (int i = 0; i < n; i++)
    {
        std::cout << "\n";
        for (int j = 0; j < m; j++)
            std::cout << "\t" << a[i][j];
    }
}
void Vivod1m(int a[], int n)
{
    for (int i = 0; i < n; i++)
        std::cout << "\t" << a[i];
}
void SrA(int a[10][10], int n, int m,float &sra)
{
    float S = 0;
    int k = 0;
    for(int i = 0; i < n; i++)
        for (int j = 0; j < m; j++)
        {
            S += a[i][j];
            k++;
        }
    sra = S / k;
}
void Form(int a[10][10], int n, int m, int b[], int nb, float sra)
{
    int s = 0;
    for (int i = -1; i < n; i++)
        for (int j = 0; j < m; j++)
            if (a[i][j] > sra)
            {
                s++;
                b[i] = a[i][j];
            }
    nb = s;
}
int main()
{
    int X1[10][10], X2[10][10], Y1[10], Y2[10], N1, M1, N2, M2, Ny1, Ny2;
    Vvod2m(X1, N1, M1);
    Vvod2m(X2, N2, M2);
    std::cout << "\nMassiv X1";
    Vivod2m(X1, N1, M1);
    std::cout << "\nMassiv X2";
    Vivod2m(X2, N2, M2);
    float sra1 = 0, sra2 = 0;
    SrA(X1, N1, M1,sra1);
    Form(X1, N1, M1, Y1, Ny1, sra1);
    std::cout << "\nMassiv Y1";
    Vivod1m(Y1, Ny1);
    SrA(X2, N2, M2, sra2);
    Form(X2, N2, M2, Y2, Ny2, sra2);
    std::cout << "\nMassiv Y2";
    Vivod1m(Y2, Ny2);
    system("pause");
}
Только он не правильно записывает элементы в одномерный массив.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.11.2016, 11:01     Сформировать из матриц пару одномерных массивов
Посмотрите здесь:

C++ классы одномерных массивов
C++ Слияние 2-х одномерных массивов
Даны два произвольных одномерных массива действительных чисел М1 и М2. Сформировать слиянием этих массивов упорядоченный массив М3 C++
Сортировка одномерных массивов C++
Обработка одномерных массивов C++
Объединение одномерных массивов C++
Из двух одинаково упорядоченных одномерных массивов k и s сформировать один массив размером k+s C++
C++ Сформировать массив из двух других одномерных массивов STL
Использование одномерных массивов C++
C++ Обработка одномерных массивов
C++ Обработка одномерных массивов
Обработка одномерных массивов С++ C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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