0 / 0 / 0
Регистрация: 20.12.2017
Сообщений: 10
1

Сформировать массив из элементов матрицы, расположенных на главной и побочной диагоналях

20.12.2017, 01:31. Показов 5876. Ответов 4
Метки нет (Все метки)

Дан динамический массив из n строк и m столбцов. Сформировать одномерный массив из элементов массива, которые расположены на главной и побочной диагоналях.
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.12.2017, 01:31
Ответы с готовыми решениями:

Определить суммы элементов матрицы расположенных на главной и побочной диагоналях
Объявить массив данных типа int размером 3 на 3. Ввести с консоли его значения, вывести на консоль...

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

Вычислить сумму элементов, расположенных на главной и побочной диагоналях матрицы
Дан двумерный массив целых чисел. Вычислить сумму элементов, расположенных на главной и побочной...

Массив: Сформировать массив из элементов заданной матрицы, расположенных выше главной и побочной диагоналей...
"Элементы строк матрицы увеличить на средние значения положительных элементов своих строк....

4
1 / 1 / 2
Регистрация: 19.11.2017
Сообщений: 36
20.12.2017, 08:19 2
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
#include<iostream>
#include<cstdlib>
#include<time.h>
using namespace std;
 
int main()
{
    srand(time(0));
    int n,m;
    cout<<"n="<<endl;
    cin>>n;
    cout<<"m="<<endl;
    cin>>m;
    int a[n][m];
    int b[100]={};
    for(int i=0;i<n;i++)   //задаем массив рандомных элементов
    {
        for (int j=0;j<m;j++)
        {
            a[i][j]=1+rand()%10;
            
        }
    }
     for(int i=0;i<n;i++)  //выводим полученный массив
    {
        for (int j=0;j<m;j++)
        {
            cout<<" "<<a[i][j];
            
        }
        cout<<endl;
    }
     for(int i=0;i<n;i++)   //добавляем в одномерный массив элементы главной диагонали
    {
        for (int j=0;j<m;j++)
        {
            if (i==j) b[i]=a[i][j];
            
        }
        cout<<endl;
    }
    
    
        for(int i=0;i<n;i++)   //добавялем п одномерный массив элементы побочной диагонали
    {
        for (int j=0;j<m;j++)
        {
            if (((n-1)-j)==i) b[i+(n)]=a[i][j];
            
        }
        cout<<endl;
    }
    for (int i=0;i<n*2;i++) cout<<" "<<b[i];  //выводим полученный массив
}
0
0 / 0 / 0
Регистрация: 20.12.2017
Сообщений: 10
23.12.2017, 21:53  [ТС] 3
Она не работает, в MSV пишет, что тут ошибки
0
1 / 1 / 2
Регистрация: 19.11.2017
Сообщений: 36
23.12.2017, 21:55 4
Guu_login, делал в Dev c++ все работает, незнаю в чем отличие может быть
0
298 / 207 / 174
Регистрация: 11.05.2016
Сообщений: 655
23.12.2017, 22:14 5
Лучший ответ Сообщение было отмечено Guu_login как решение

Решение

Цитата Сообщение от LinbergA Посмотреть сообщение
делал в Dev c++ все работает, незнаю в чем отличие может быть
Нужен динамический массив, у Вас же статический, для него m,n нужны константные

Добавлено через 13 минут
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
#include<iostream>
#include<cstdlib>
#include<time.h>
using namespace std;
 
int main()
{
    srand(time(0));
    int n,m;
    cout<<"n="<<endl;
    cin>>n;
    cout<<"m="<<endl;
    cin>>m;
    int **a = new int*[n];
    for(int i=0; i<n; i++)
    {
        a[i]=new int[m];
        for(int j=0; j<m; j++)
        {
            a[i][j] = rand()%10;
        }
    }
    int temp = 2*(m>n ? n : m);
    int *b = new int[temp];
 
    for(int i=0;i<n;i++)  //выводим полученный массив
    {
        for (int j=0;j<m;j++)
        {
            cout<<" "<<a[i][j];
            
        }
        cout<<endl;
    }
 
    for(int i=0, k=0, d=temp/2; i<d; i++)
    {
        b[i] = a[i][i];
        b[i+d] = a[n-i-1][i];
 
    }
    
    
    for (int i=0;i<temp;i++) cout<<" "<<b[i];  //выводим полученный массив
 
    delete [] b;
 
    for(int i=0 ; i<n; i++)
        delete [] a[i];
    delete [] a;
 
    system("pause");
    return(0);
}
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.12.2017, 22:14
Помогаю со студенческими работами здесь

Найти максимальное значение элементов, расположенных на главной и побочной диагоналях матрицы
Дана квадратная матрица M x M. Найти максимальное значение элементов, расположенных на главной и...

Дан двумерный массив целых чисел. Вычислить сумму элементов, расположенных на главной и побочной диагоналях
Дан двумерный массив целых чисел. Вычислить сумму элементов, расположенных на главной и побочной...

Дан двумерный массив целых чисел. Вычислить сумму элементов, расположенных на главной и побочной диагоналях
Дан двумерный массив целых чисел. Вычислить сумму элементов, расположенных на главной и побочной...

Вычислить сумму элементов, расположенных на главной и побочной диагоналях массива
Дан двумерный массив целых чисел. Вычислить сумму элементов, расположенных на главной и побочной...

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

Вычислить сумму элементов, расположенных на главной и побочной диагоналях - решить с использованием процедуры
помогите сделать задачу через процедуру: const n = 6; var a : array of integer; j, i,...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru