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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Видимость переменной http://www.cyberforum.ru/cpp-beginners/thread649861.html
Подскажите пожалуйста, если у меня есть две функции, в которых мне надо использовать одну и ту же константу, правильнее будет сделать её глобальной, или описать сначала в одной, а потом в другой функции?
C++ Народ спасайте, на счет теста Парни спасайте. Нужно узнать откуда в этой программе берутся вопросы, картинки и все остальное для теста. Я понимаю что из файлов <Classes.hpp> <Controls.hpp> <StdCntrl.hpp> <Forms.hpp> <ExtCtrls.hpp> <Dialogs.hpp> <Graphics.hpp> а как эти файлы написать, и самое главное, чтов них писать? http://www.cyberforum.ru/cpp-beginners/thread649852.html
Не работает strcmp + указатели непойми что опять выводят C++
Странно все это в одном примере работает strcmp в другом (здесь) не работает. Не могу понять почему, пока разбирался решил проверить на какой адрес указатель показывает, а он почему-то не меняет свое значение. Очень странно.... #include <iostream> #include <cstring> int main(){ const char* line1="Hello"; const char* line2="World"; std::cout<<&line1<<" "<<&line2<<std::endl;...
Как программно незаметно создать zip/rar архив и отправить на хост? C++
C++(лучше C++/CLI). Например: моя программа на компьютере с именем пользователя "User01". Она берет файли из нужных мне папок и пакует в архив с именем "User01-10-09-2012.rar/.zip" и шлется на какой-нибудь хост или мыло
C++ не работают все коды http://www.cyberforum.ru/cpp-beginners/thread649832.html
при компилировании любого кода в консоли появляется сообщение""адрес файла" не является внутренней или внешней программой или пакетным кодом. для продолжения нажмите любую кнопку...
C++ Как реализовать небуферизированный ввод в программе? Необходим ввод по одному символу (т.е. как в getchar()), но без необходимости ввода специального символа для завершения. Т.е. что-то подобное тому, что есть в играх (мозг развалился от обилия междометий и вводных слов). Подскажите, чем можете) подробнее

Показать сообщение отдельно
artyrka94
1 / 1 / 0
Регистрация: 10.09.2012
Сообщений: 15
11.09.2012, 00:13     Составить функцию вычисления суммы элементов выше диагонали
Задание:
Кликните здесь для просмотра всего текста

Составить функцию вычисления суммы S положительных элементов матрицы, лежащие выше некоторой диагонали, параллельной главной диагонали. Используя эту функцию, в матрице K(5,5) вычислить произведение суммы S элементов, лежащих выше диагонали А (см рисунок) на сумму S элементов лежащих выше диагонали B, а в матрице T(6,6)- сумму S элементов, лежащих выше диагонали C:

матрица K:
_________* A * * *______________матрица T:* * * * * *
_________* * A * *_______________________C * * * * *
_________B * * A *_______________________* C * * * *
_________* B * * A_______________________* * C * * *
_________* * B * *_______________________* * * C * *
_______________________________________ * * * * C *

мое решение:
Кликните здесь для просмотра всего текста
C++ (Qt)
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
#include<iostream>
#include<cstdlib>
#include<ctime>
using namespace std;
// ---------------------------
void vvod(int[][6], int);
int sm(int[][6], int, int, int, int);
// ---------------------------
int k[5][5], t[6][6];
// --------------------------
void vvod(int f[][6], int n)
{
    srand(time(0));
    for (int i = 0; i < n; i++)
        for (int j = 0; j < n; j++)
        //  cin>> f[i][j];
            f[i][j]=10+rand()%50;
}
 
// -------------------------
int sm(int f[][6], int n, int m, int x, int y)
{
    int s = 0;
    for (int i = x, p=0; i < n; i++, p++)
        for (int j = y, r=0; j < m; j++,r++)
            if ((p <= r) && (f[i][j] > 0))
                s=s+f[i][j];
    return s;
}
 
// ----------------------------
main()
{
    int i, j, smt, smk;
    vvod(k,5);
    vvod(t,6);
    cout << "Matrica K(5,5):" << endl;
    for (i = 0; i < 5; i++)
    {
        cout << endl << endl;
        for (j = 0; j < 5; j++)
            cout << "     " << k[i][j] << " (" << i << "," << j << ")   |";
    }
    cout << endl << endl;
    cout << "Matrica T(6,6):" << endl;
    for (i = 0; i < 6; i++)
    {
        cout << endl << endl;
        for (j = 0; j < 6; j++)
            cout << "     " << t[i][j] << " (" << i << "," << j << ")   |";
    }
    cout << endl << endl;
    smt = sm(t, 5, 5, 0, 0);
    smk = sm(k, 2, 4, 0, 2) * sm(k, 4, 3, 1, 1);
    cout << "smt=" << smt;
}


компилятор ругается на vvod(k,5); и smk = sm(k, 2, 4, 0, 2) * sm(k, 4, 3, 1, 1);

ошибки:

Кликните здесь для просмотра всего текста
cannot convert `int (*)[5]' to `int (*)[6]' for argument `1' to `void vvod(int (*)[6], int)'
cannot convert `int (*)[5]' to `int (*)[6]' for argument `1' to `int sm(int (*)[6], int, int, int, int)'
cannot convert `int (*)[5]' to `int (*)[6]' for argument `1' to `int sm(int (*)[6], int, int, int, int)'


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