• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о форуме и правила – там коротко описано, как задать вопрос так, чтобы быстро получить ответ. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по старой ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Сумма положительных элементов

Serjant0007

Новые
Регистрация
21 Июн 2010
Сообщения
31
Реакции
0
Баллы
0
Сумма положительных элементов

Вычислить сумму положительных элементов матрицы, находящихся под главной диагональю и на ней. Профессионалы, буду Вам благодарен! Что то пытался но не получается
Код:
#include <iostream.h>
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main ()
{
        int i, j, k,s1=0,s2=0;
        int n;
        int** a;
        cout << "Vvedite razmernost' matrizy n = ";
        cin >> n;
        cout << "\nMatriza razmerom " << n << "x" << n << "\n\n";
        a = new int* [n];
        for (i = 0; i < n; ++i)
        {
                a[i] = new int[n];
                for (j = 0; j < n; ++j)
                {
                        a[i][j] = rand()%20-10;
                        cout << a[i][j] << "\t";
                }
                cout <<"\n";
    }
        //Вычисление суммы положительных элементов под главной диагональю
        int s = 0;
        i = 1;
        j = 0;
        for (k = 0; k < n-1; ++k)
        {
                if (a[i][j] > 0)
                {
                        s1=s1+a[i][j];
                }
                ++i;
                ++j;
        }
        //Вычисление суммы положительных элементов на главной диагонали
        i = 0;
        j = 0;
        for (k = 0; k < n; ++k)
        {
                if (a[i][j] > 0)
                {
                        s2=s2+a[i][j];
                }
                ++i;
                ++j;
        }
{s=s1+s2;}
        cout <<"\nSumma S = " << s <<"\n";
        for(i = 0; i < n; ++i)
        delete[] a[i];
        delete[] a;
        system("Pause");
        return 0;
}
 
Вот вам сумма положительных элементов на и под главной диагональю:
Код:
#include <iostream>
using namespace std;
int main() {
    int sum=0, mas[5][5];
    for (int i=0; i<6; i++){
        for (int j=0; j<6; j++){
        mas[i][j] = rand()%20-10;
        cout<<mas[i][j]<<"\t";
        if (i<=j&&mas[i][j]>0) sum+=mas[i][j];
        }
    cout<<endl;
}
    cout<<"Summa="<<sum<<endl;
getchar();
}
 
Назад
Сверху