Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
1 / 1 / 0
Регистрация: 10.03.2016
Сообщений: 14

Матрица делится на две части главной диагональю. Найти суммы элементов каждой части

13.03.2016, 16:31. Показов 2486. Ответов 21
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем здрасьте. В общем смог найти сумму выше главной диагонали, а вот с суммой ниже главной диагонали не получается.
Помогите пожалуйста, если не затруднит)

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
#include <iostream> //Библиотека ввода/вывода
#include <math.h>   //Математическая библиотека 
using namespace std;//Объявление пространства имен std
 
int main()
{ //Начало программы
    float n=8;//Задание констант
    int i, j, x;//Объявление переменных
    int a [8][8];
    
    setlocale(LC_ALL, "Russian");
    cout << "Матрица 8х8" << endl;
    //Задание элементов массива с помощью генератора случайных чисел
        for (int i=0; i<n; i++){
            for (int j=0; j<n; j++){
            a[i][j] =rand()%10+1;
            cout.width(3);
     cout<<a[i][j]<<" ";   }
  cout<<endl;  }
cout<<endl;
        cout <<"Сумма элементов, лежащих выше главной диагонали: " ;
        int summa = 0;
        for (int i = 0; i < n; ++i)
    for (int j = 0; j < n; ++j)
       if (i < j)
         summa += a[i][j];
        cout << " " << summa <<endl;
        cout << endl;
        
        cout<<endl;
        system("pause");//Задержка консоли
        return 0;//Успешное завершение программы
} //Конец программы
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
13.03.2016, 16:31
Ответы с готовыми решениями:

Матрица А(5,5) делится на две части побочной диагональю. Найти среднее арифметическое сумм элементов каждой части. п
1.Матрица А(5,5) делится на две части побочной диагональю. Найти среднее арифметическое сумм элементов каждой части. 2.Матрица А(5,5)...

Массив делится на 3 части min и max элементами. Определить сумму элементов каждой части
Заданный массив целых чисел делится на три части двумя элементами:максимальным и минимальным. Определите сумму элементов в каждой части...

Массив целых чисел делится на 3 части двумя элементами: максимальным и минимальным. Определите сумму элементов в каждой части массива
Заданный массив целых чисел делится на 3 части двумя элементами: максимальным и минимальным. Определите сумму элементов в каждой части...

21
165 / 164 / 124
Регистрация: 19.01.2016
Сообщений: 594
Записей в блоге: 1
13.03.2016, 17:16
Ansarelio,
Цитата Сообщение от Ansarelio Посмотреть сообщение
float n=8;//Задание констант
Это не задание константы. Это определение переменной n инициализированной значением 8. И Почему тип float? У вас же целое число равное 8.В вашем случае константное значение будет так:
C++
1
const int n = 8;
Добавлено через 1 минуту
Цитата Сообщение от Ansarelio Посмотреть сообщение
int a [8][8];
C++
1
int a [n][n];
Добавлено через 5 минут
Цитата Сообщение от Ansarelio Посмотреть сообщение
cout <<"Сумма элементов, лежащих выше главной диагонали: " ;
* * * * int summa = 0;
* * * * for (int i = 0; i < n; ++i)
* * for (int j = 0; j < n; ++j)
тоже не верно...
C++
1
2
3
4
cout <<"Сумма элементов, лежащих выше главной диагонали: " ;
        int summa = 0;
        for (int i = 0; i < n; ++i)
    for (int j = i; j < n; ++j)
0
1 / 1 / 0
Регистрация: 10.03.2016
Сообщений: 14
13.03.2016, 17:17  [ТС]
Спасибо, сейчас исправлю.
0
165 / 164 / 124
Регистрация: 19.01.2016
Сообщений: 594
Записей в блоге: 1
13.03.2016, 17:44
Ansarelio,
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
#include <iostream> //Библиотека ввода/вывода
#include <math.h>   //Математическая библиотека 
using namespace std;//Объявление пространства имен std
 
int main()
{ //Начало программы
    const int n=8;//Задание констант
    int i, j, x;//Объявление переменных
    int a [n][n];
    
    setlocale(LC_ALL, "Russian");
    cout << "Матрица 8х8" << endl;
    //Задание элементов массива с помощью генератора случайных чисел
        for (int i=0; i<n; i++){
            for (int j=0; j<n; j++){
            a[i][j] =rand()%10+1;
            cout.width(3);
     cout<<a[i][j]<<" ";   }
  cout<<endl;  }
cout<<endl;
        cout <<"Сумма элементов, лежащих выше главной диагонали: " ;
        int summa = 0;
        for (int i = 0; i < n; ++i)
    for (int j = 0; j < n; ++j)
       if (i < j)
         summa += a[i][j];
        cout << " " << summa <<endl;
        cout << endl;
        
        cout <<"\nСумма элементов, лежащих ниже главной диагонали: " ;
        int summa2 = 0;
        for (int i = 0; i < n; ++i)
    for (int j = 0; j < i; ++j)
       if (i > j)
         summa2 += a[i][j];
        cout << " " << summa2 <<endl;
        cout << endl;
 
        cout<<endl;
        system("pause");//Задержка консоли
        return 0;//Успешное завершение программы
} //Конец программы
Добавлено через 4 минуты
Цитата Сообщение от Cadr Посмотреть сообщение
тоже не верно...
C++Выделить код
cout <<"Сумма элементов, лежащих выше главной диагонали: " ;
* * * * int summa = 0;
* * * * for (int i = 0; i < n; ++i)
* * for (int j = i; j < n; ++j)
Это не совсем верно... Хотя...
0
1 / 1 / 0
Регистрация: 10.03.2016
Сообщений: 14
13.03.2016, 17:45  [ТС]
Спасибо, но в результате выдает сумму ниже главной диагонали 0. Не знаете в чем может быть проблема?
0
165 / 164 / 124
Регистрация: 19.01.2016
Сообщений: 594
Записей в блоге: 1
13.03.2016, 17:50
Ansarelio,
C++
1
2
3
4
5
6
7
8
cout <<"\nСумма элементов, лежащих ниже главной диагонали: " ;
        int summa2 = 0;
        for (int i = 0; i < n; ++i)
    for (int j = 0; j < i; ++j)
       if (i > j)
         summa2 += a[i][j];
        cout << " " << summa2 <<endl;
        cout << endl;
Выдает 0???
0
1 / 1 / 0
Регистрация: 10.03.2016
Сообщений: 14
13.03.2016, 17:57  [ТС]
Вот скрин.
Миниатюры
Матрица делится на две части главной диагональю. Найти суммы элементов каждой части  
0
165 / 164 / 124
Регистрация: 19.01.2016
Сообщений: 594
Записей в блоге: 1
13.03.2016, 17:58
0
165 / 164 / 124
Регистрация: 19.01.2016
Сообщений: 594
Записей в блоге: 1
13.03.2016, 18:01
Цикл такой?
C++
1
2
for (int i = 0; i < n; ++i)
 for (int j = 0; j < i; ++j)
Добавлено через 1 минуту
Ansarelio, Выложи код свой...
0
1 / 1 / 0
Регистрация: 10.03.2016
Сообщений: 14
13.03.2016, 18:04  [ТС]
Прошу прощения, я там в одном месте буквы перепутал. Все, перепроверил после ваших слов и правильно работает.

Добавлено через 1 минуту
Спасибо вам большое, выручили.
0
165 / 164 / 124
Регистрация: 19.01.2016
Сообщений: 594
Записей в блоге: 1
13.03.2016, 18:04
Ansarelio, Ну ок тогда
0
1 / 1 / 0
Регистрация: 10.03.2016
Сообщений: 14
13.03.2016, 19:46  [ТС]
C++
1
2
3
4
5
6
7
cout<<"Среднее геометрическое сумм элементов каждой части: ";
 int x =sqrt(summa*summa2);
  cout<<" "<< x << endl;
         cout<<endl;
        system("pause");//Задержка консоли
        return 0;//Успешное завершение программы
} //Конец программы
Я задание не дочитал оказывается, мне еще надо найти среднее геометрическое сумм элементов каждой части. Формула для вычисления такая sqrt(summa*summa2) и в данном коде выдает ошибку в функции sqrt. Вы не могли бы подсказать, в чем ошибка?

Добавлено через 15 минут
C++
1
2
3
4
5
6
7
cout<<"Среднее геометрическое сумм элементов каждой части: ";
 x =sqrt(summa*summa2);
  cout<<" "<< x << endl;
         cout<<endl;
        system("pause");//Задержка консоли
        return 0;//Успешное завершение программы
} //Конец программы
Вот, я в предыдущем int x написал, что не верно. А вот с sqrt в чем проблема интересно..
0
518 / 410 / 188
Регистрация: 08.04.2013
Сообщений: 1,750
13.03.2016, 21:33
Подправил, без лишних проверок условии
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
#include <iostream> //Библиотека ввода/вывода
#include <cmath>   //Математическая библиотека 
#include <cstdlib>
using namespace std;//Объявление пространства имен std
 
int main()
{ //Начало программы
    const int n=8;//Задание констант
    int i, j, x;//Объявление переменных
    int a [n][n];
    
    setlocale(LC_ALL, "Russian");
    cout << "Матрица 8х8" << endl;
    //Задание элементов массива с помощью генератора случайных чисел
        for (int i=0; i<n; i++){
            for (int j=0; j<n; j++){
            a[i][j] =rand()%10+1;
            cout.width(3);
     cout<<a[i][j]<<" ";   }
  cout<<endl;  }
cout<<endl;
        cout <<"Сумма элементов, лежащих выше главной диагонали: " ;
        int summa = 0;
        for (int i = 0; i < n-1; ++i) // последний тоже был лишним
    for (int j = i+1; j < n; ++j)
    //if (i < j) // это лишнее при правильном цикле
             summa += a[i][j];
        cout << " " << summa <<endl;
        cout << endl;
        
        cout <<"\nСумма элементов, лежащих ниже главной диагонали: " ;
        int summa2 = 0;
        for (int i = 1; i < n; ++i)  // i=0 не нужен 
    for (int j = 0; j < i; ++j)
      // if (i > j) // это лишнее
         summa2 += a[i][j];
        cout << " " << summa2 <<endl;
        cout << endl;
 
        cout<<endl;
        system("pause");//Задержка консоли
        return 0;//Успешное завершение программы
} //Конец программы
0
165 / 164 / 124
Регистрация: 19.01.2016
Сообщений: 594
Записей в блоге: 1
13.03.2016, 22:05
Ansarelio,
C++
1
    int i, j;//Объявление переменных
этого не надо...
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
#include <iostream> //Библиотека ввода/вывода
#include <cmath>   //Математическая библиотека 
#include <cstdlib>
using namespace std;//Объявление пространства имен std
 
int main()
{ //Начало программы
    const int n=8;//Задание констант
    double x;
    int a [n][n];
    
    setlocale(LC_ALL, "Russian");
    cout << "Матрица 8х8" << endl;
    //Задание элементов массива с помощью генератора случайных чисел
    for (int i=0; i<n; i++){
    for (int j=0; j<n; j++){
    a[i][j] =rand()%10+1;
    cout.width(3);
    cout<<a[i][j]<<" ";   }
    cout<<endl;  }
    cout<<endl;
    cout <<"Сумма элементов, лежащих выше главной диагонали: " ;
    
    int summa = 0;
    for (int i = 0; i < n-1; ++i) 
    for (int j = i+1; j < n; ++j)
    summa += a[i][j];
    cout << " " << summa <<endl;
    cout << endl;
        
    cout <<"\nСумма элементов, лежащих ниже главной диагонали: " ;
    int summa2 = 0;
    for (int i = 1; i < n; ++i)  
    for (int j = 0; j < i; ++j)
    summa2 += a[i][j];
    cout << " " << summa2 <<endl;
    cout << endl;
    cout<<"Среднее геометрическое сумм элементов: ";
    x =sqrt(summa*summa2);
    cout<<" "<< x << endl;
 
    cout<<endl;
    system("pause");//Задержка консоли
    return 0;//Успешное завершение программы
} //Коне
0
1 / 1 / 0
Регистрация: 10.03.2016
Сообщений: 14
14.03.2016, 10:15  [ТС]
Полностью вставил ваш код, но так же подчеркивает sqrt, как ошибку. Пишет то же самое, что писало до этого "существует более одного экземпляра перегруженная функция".
0
165 / 164 / 124
Регистрация: 19.01.2016
Сообщений: 594
Записей в блоге: 1
14.03.2016, 11:22
Ansarelio, в какой среде пишете?

Добавлено через 10 минут
Попробуйте так
C++
1
#include <math.h>
0
165 / 164 / 124
Регистрация: 19.01.2016
Сообщений: 594
Записей в блоге: 1
14.03.2016, 11:31
Ansarelio, у меня на дроиде даже все ок.
Миниатюры
Матрица делится на две части главной диагональю. Найти суммы элементов каждой части  
0
1 / 1 / 0
Регистрация: 10.03.2016
Сообщений: 14
14.03.2016, 11:34  [ТС]
Microsoft Visual C++ 2010.
Использовал библиотеку вашу, не помогло.

Добавлено через 33 секунды
Я тогда вообще не пойму, почему пишет ошибку...
0
165 / 164 / 124
Регистрация: 19.01.2016
Сообщений: 594
Записей в блоге: 1
14.03.2016, 11:45
Ansarelio,У 10 студии проблемы с перегрузкой функций, установите 12 и выше или борланд 6 и будет вам счастье)
0
1 / 1 / 0
Регистрация: 10.03.2016
Сообщений: 14
14.03.2016, 11:47  [ТС]
Значит, как только запущу это на 12 и выше, должна заработать?
Спасибо за информацию)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
14.03.2016, 11:47
Помогаю со студенческими работами здесь

Заданный массив целых чисел делится на три части двумя элементами: максимальным и минимальным. Определите сумму элементов в каждой части массива.
Помогите пожалуйста... Заданный массив целых чисел делится на три части двумя элементами: максимальным и минимальным. Определите сумму...

Дан номер строки L и номер столбца K, при помощи которых исходная матрица разбивается на четыре части. Найти сумму элементов каждой части
Кто может напишите пожалуйста всю программу целиком от начала до конца. Вот собственно и задача: Выполнить обработку элементов...

Вычислить сумму отрицательных элементов нижней треугольной части матрицы под главной диагональю
Дана матрица А(4,4), задается randomize. Вычислить сумму отрицательных элементов нижней треугольной части матрицы под главной диагональю. ...

Дана квадратная матрица m*m надо найти среднее арифметическое над главной диагональю и под главной диагональю и сравнить их
Дана квадратная матрица m*m надо найти среднее арифметическое над главной диагональю и под главной диагональю и сравнить их

Дана квадратная матрица m*m надо найти среднее арифметическое над главной диагональю и под главной диагональю и сравнить их
Дана квадратная матрица m*m надо найти среднее арифметическое над главной диагональю и под главной диагональю и сравнить их


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru