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

Имеется матрица вещественных чисел 4*4. Напишите функцию, которая находит сумму элементов на побочной диагонали - C++

Восстановить пароль Регистрация
 
NSTR
0 / 0 / 0
Регистрация: 29.11.2013
Сообщений: 76
01.02.2014, 22:50     Имеется матрица вещественных чисел 4*4. Напишите функцию, которая находит сумму элементов на побочной диагонали #1
Имеется матрица вещественных чисел 4*4. Напишите функцию, которая находит сумму элементов на побочной диагонали.
Написал программу:
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
#include <iostream>
#include <stdio.h>
using namespace std;
 
float matrix (float array[4][4], int n);
 
int main()
{
    const int SIZE = 4;
    float a[SIZE][SIZE] = 
    {
    {1.0, 1.0, 1.0, 0.3 }, 
    {1.0, 1.0, 1.2, 1.0 }, 
    {1.0, 2.1, 1.0, 1.0 }, 
    {3.0, 1.0, 1.0, 1.0 } 
    };
    cout << matrix(a, SIZE) << endl;
    system("pause");
    return 0;
}
 
float matrix (float array[4][4], int n)
{
    float sum = 0.0;{
    for(int i=0;i<n;i++);
            for (int j=n;j>=0;j--);  
        sum += array[i][j];
        
    return sum;
}
Но расчитать правильно не получается. По логике нужно прибавлять каждый раз на один строку и отнимать столбец. Я попытался это изобразить вот тут:
C++
1
2
3
float sum = 0.0;{
    for(int i=0;i<n;i++);
            for (int j=n;j>=0;j--);
Получается какое-то не понятное число.=(
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.02.2014, 22:50     Имеется матрица вещественных чисел 4*4. Напишите функцию, которая находит сумму элементов на побочной диагонали
Посмотрите здесь:

Задана квадратная матрица вещественных чисел. Найти сумму модулей элементов, которые находятся ниже главной диагонали C++ C++
Матрица A(x,y). Найти сумму элементов матрицы находящихся под побочной диагонали C++
Дана квадратная матрица. Найти сумму элементов ее главной, побочной диагонали. C++
Напишите функцию, которая проверяет, отсортирован ли массив вещественных чисел C++
Напишите функцию, которая находит сумму элементов в таблице C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Меорн
74 / 59 / 29
Регистрация: 01.02.2014
Сообщений: 201
01.02.2014, 23:23     Имеется матрица вещественных чисел 4*4. Напишите функцию, которая находит сумму элементов на побочной диагонали #2
ну с первого взгляда видно что вышел за границу массива. j=n

Добавлено через 7 минут
C++
1
2
3
4
5
6
7
8
9
float matrix (float array[4][4], int n)
{
    float sum = 0.0;
    for(int i=n-1; i >= 0; i--)
            for (int j=0; j < n; j++)
                    sum += array[i][j];
        
    return sum;
}
Добавлено через 5 минут
а непонятное число видимо как раз из-за того что читал за границами массива.
NSTR
0 / 0 / 0
Регистрация: 29.11.2013
Сообщений: 76
01.02.2014, 23:25  [ТС]     Имеется матрица вещественных чисел 4*4. Напишите функцию, которая находит сумму элементов на побочной диагонали #3
Меорн, не, все равно не получается правильный результат. Так получается 18.6, а должно 6.6.
Меорн
74 / 59 / 29
Регистрация: 01.02.2014
Сообщений: 201
01.02.2014, 23:29     Имеется матрица вещественных чисел 4*4. Напишите функцию, которая находит сумму элементов на побочной диагонали #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
то уже я сам протупил. накопипастил не глядя.

так попробуй:
C++
1
2
3
4
5
6
7
8
float matrix (float array[4][4], int n)
{
    float sum = 0.0;
    for(int i=n-1; i >= 0; i--)
                    sum += array[i][(n-1)-i];
 
    return sum;
}
kampotya
7 / 4 / 1
Регистрация: 21.02.2013
Сообщений: 23
01.02.2014, 23:33     Имеется матрица вещественных чисел 4*4. Напишите функцию, которая находит сумму элементов на побочной диагонали #5
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
#include <iostream>
#include <ctime>
 
using namespace std; 
int main () { 
    setlocale(LC_ALL, "rus");
    srand(time(0));
    int n, m;
    double s=0.0;
    cout<<"Vvedite n:";
    cin>>n;
    cout<<"Vvedite m:";
    cin>>m;
    float a[100][100];
    cout<<"Рандомный массив\n";
    for (int i=0; i<n; i++){
        cout<<endl;
        for(int j=0; j<m; j++){
    a[i][j]=rand()%10/1.2;
    cout<<a[i][j]<<" ";}}
    
    for(int i=n-1; i >= 0; i--)
                    s += a[i][(n-1)-i];
    
    cout<<"\nSumma="<<s<<endl;
    system("pause");
}
NSTR
0 / 0 / 0
Регистрация: 29.11.2013
Сообщений: 76
01.02.2014, 23:38  [ТС]     Имеется матрица вещественных чисел 4*4. Напишите функцию, которая находит сумму элементов на побочной диагонали #6
Меорн, во, другое дело) Спасибо большое!
kampotya, и Вам спасибо)
Yandex
Объявления
01.02.2014, 23:38     Имеется матрица вещественных чисел 4*4. Напишите функцию, которая находит сумму элементов на побочной диагонали
Ответ Создать тему
Опции темы

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