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

Вычислить в функции сумму модулей элементов выше главной диагонали матрицы - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Использование оператора множественного выбора http://www.cyberforum.ru/cpp-beginners/thread591366.html
Помогите пожалуйста с простой прогой: --> С начала 1990 года по некоторый день прошло n месяцев и 2 дня. определить название месяца (январь, февраль и т.д.) этого дня. C++ or C#
C++ Сортировка выбором Программа сортировки выбором двумерного динамического массива в порядке возрастания максимальных элементов строк. В итоге массив не сортируется, что не так? #include <stdio.h> #include <clocale> #include <conio.h> void output(float **mass, int m, int n) { for (int i = 0; i < m; i++) { for (int j = 0; j < n; j++) http://www.cyberforum.ru/cpp-beginners/thread591359.html
C++ Задача про три шахматные фигуры
//На шахматной доске 8х8 расположены три фигуры: ферзь, ладья и конь. //Требуется определить количество пустых полей доски, которые находятся под боем. //Для простоты будем полагать, что фигуры могут «бить» через другие фигуры. Не получается написать функцию, которая бы считала сколько полей бьют фигуры.
C++ Подсчитать, колько раз в произвольном тексте встречается символ "*" и "+"
Дан любой текст...Сколько раз в нём встречается символ "*" и "+"? нужно использовать цикл с счетчиком
C++ Работа со стеком http://www.cyberforum.ru/cpp-beginners/thread591292.html
Создать программу, реализовав работу со структурой данных - стеком. В программе реализовать добавление и удаление элементов.
C++ Программирование динамических списков Написать программу, в которой реализовать создания динамического списка с последующим функционалом: а) добавление элементов в список; б) удаление элементов из списка; в) сортировка списка в алфавитном порядке. подробнее

Показать сообщение отдельно
Luzifer
6 / 6 / 2
Регистрация: 28.06.2010
Сообщений: 88
30.05.2012, 17:01     Вычислить в функции сумму модулей элементов выше главной диагонали матрицы
Цитата Сообщение от Жанбота Посмотреть сообщение
но мы по другому решаем, можешь примерно вот так
Под Си что ли переписать?

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
71
72
73
74
75
#include <stdio.h>
#include <stdlib.h>
#include "iostream"
 
int func(int *a, int n, int m);
 
int main(void)
{
    setlocale(LC_ALL, "Russian");
 
    int n,m;
 
    int summ1 = 0;
    int summ2 = 0;
    int summ3 = 0;
 
    printf("Кол-во строк:");
    scanf("%d", &n);
    printf("Кол-во столбцов:");
    scanf("%d", &m);
 
    int *array_1 = (int*)calloc(n*m, sizeof(int));
    int *array_2 = (int*)calloc(n*m, sizeof(int));
    int *array_3 = (int*)calloc(n*m, sizeof(int));
 
    for(int i = 0; i < n; i++)
    {
        for(int j = 0; j < m; j++)
        {
            array_1[i * n + j] = rand()%100;
            array_2[i * n + j] = rand()%100;
            array_3[i * n + j] = rand()%100;
        }
    }
 
    summ1 = func(array_1, n, m); 
    summ2 = func(array_2, n, m);
    summ3 = func(array_3, n, m);
 
    printf("Сумма 1 = %d Сумма 2 = %d Сумма 3 = %d\n", summ1,summ2,summ3);
 
    printf("Среднее: %d\n",(summ1 + summ2 + summ3)/3);
    return 0;
}
 
int func(int *a, int n, int m)
{
    int count = 0;
    int summ = 0;
    bool flags = false;
    int tmp = 0;
    for(int i = 0; i < n; i++)
    {
        for(int j = 0; j < m; j++)
        {
            if(i == j)
            {
                flags = true;
            }
 
            if(flags == true)
            {
                if(count >= 1)
                {
                    tmp = a[i * n + j];
                    summ += abs(tmp);
                }
                count++;
            }
        }
        count = 0;
        flags = false;
    }
    return summ;
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru