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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.67
XaJlop4ik
0 / 0 / 0
Регистрация: 21.11.2011
Сообщений: 70
#1

Главная диагональ в двумерном массиве - C++

25.03.2012, 22:05. Просмотров 1429. Ответов 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
#include <iostream> 
#include <math.h>
#include <time.h>
#include <stdlib.h>
using namespace std; 
void main()
{setlocale(LC_ALL, "");
srand(time(NULL));
        int N;
        cout<<"Введите кол-во элементов в массиве X[NxN]:"<<endl;
        cin>>N;
        int *X = new int [N], i, j;
        cout<<"Исходный массив X[NxN]:";
        for (i=0; i<N; ++i)
        {cout<<endl;
            for(j=0; j<N; ++j)
            {
                X[i,j]=rand()%10;
                cout<<X[i,j]<<" ";
            }
        }
        cout<<endl;
        int sum=0;
        cout<<"Сумма X[NxN]:";
        for (i=0; i<N; i++)
        {//cout<<endl;
            for(j=0; j<N; j++)
            {
                if (i==j) sum=sum+X[i,j]; 
            }
        }
        cout<<"\n"<<sum<<endl;
        system("pause");
}
Укажите где может быть ошибка?
Миниатюры
Главная диагональ в двумерном массиве  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.03.2012, 22:05
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Главная диагональ в двумерном массиве (C++):

Как найти в двумерном массиве наибольшую диагональ/горизонталь/вертикаль? - C++
как найти в двумерном массиве наибольшую диагональ/горизонталь/вертикаль?? подскажите пожалуйста

Главная диагональ матрицы - C++
Даны две квадратные матрицы. Напечатать ту из них, которая имеет минимальный &quot;след&quot; (т.е. сумму элементов главной диагонали). Использовать...

Главная диагональ матрицы - C++
Добрый вечер! Есть пару задач, с которыми не могу справиться, помогите плиз... Задача 1 Постановка задачи: Дана целочисленная...

Главная диагональ и транспонирование матрицы - C++
Дана целочисленная матрица размерности (n x n) . Если максимальные элементы строк находятся на главной диагонали и образуют не...

Главная диагональ, побочная и наименьшее из значений элементов побочной диагонали - C++
Дан массив действительных чисел размера nxn (n&lt;=10) а) Найти сумму элементов главной и побочной диагоналей. б) Найти наименьшее из...

Возвести в квадрат побочную диагональ матрицы, если главная возрастает - C++
Целочисленная матрица а(7,7). Преобразовать матрицу по правилу, если элементы матрицы на главной диагонали образуют возрастающую...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Infinity3000
1058 / 577 / 24
Регистрация: 03.12.2009
Сообщений: 1,255
25.03.2012, 22:22 #2
Во первых вы создаете одномерный динамический массив


Цитата Сообщение от XaJlop4ik Посмотреть сообщение
int *X = new int [N]

во вторых кто вас так учил обращаться к элементам массива?
Цитата Сообщение от XaJlop4ik Посмотреть сообщение
X[i,j];
Добавлено через 1 минуту
и еще возмите себе за примвычку

не
C++
1
void main()
а

C++
1
int main()
Добавлено через 9 минут
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
#include "iostream"
#include <ctime>
 
using namespace std;
 
int main()
{
    setlocale(LC_ALL, "");
    srand(time(NULL));
    int n;
    int sum = 0;
    cout<<"Введите размерность массива: " << endl;
    cin >> n;
    
    int **matr = new int *[n]; 
    for (int i = 0; i < n; ++i) 
        matr[i] = new int [n]; 
    
    for (int i = 0; i < n; ++i)
    {
        for(int j = 0; j < n; ++j)
        {
            cout << (matr[i][j] = rand() % 10) << " ";
        }
        sum += matr[i][i];
        cout << endl;
    }
 
    cout << "Сумма равна - " << sum << endl;
 
    for (int i = 0; i < n; i++)
        delete [] matr[i];
    delete [] matr;
    system("pause >> null");
    return 0;
}
Infinity3000
1058 / 577 / 24
Регистрация: 03.12.2009
Сообщений: 1,255
25.03.2012, 22:24 #3
Результат
Миниатюры
Главная диагональ в двумерном массиве  
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.03.2012, 22:24
Привет! Вот еще темы с ответами:

Двумерные массивы. Главная диагональ и произведение среднего арифметического значения элементов. - C++
Вот какая стоит передо мною задача: (программа на С++) &quot;Даны вещественные массивы D, S. Для каждого массива определить произведение...

В чем ошибка? В массиве обнулить побочную диагональ. - C++
в паскале все работает, а в с++ нет #include &lt;iostream.h&gt; int main() { system(&quot;chcp 1251&quot;); system(&quot;cls&quot;); int a; int...

Поменять местами строку и диагональ в 2-мерном массиве - C++
Задание - Имеется 2-мерный массив. Нужно поменять местами диагональ a(4,0) - a(0,4) на строку с самой большой суммой елементов. Помогите...

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


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

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

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