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

Найти среднее арифметическое элементов побочной диагонали

28.03.2016, 21:50. Показов 6821. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
на паскаль сделал. на с++ не получается совсем. Дана квадратная матрица A порядка M. Найти среднее арифметическое элементов ее побочной диагонали, т. е. диагонали, содержащей следующие элементы:
A1,M, A2,M−1, A3,M−2, …, AM,1.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
28.03.2016, 21:50
Ответы с готовыми решениями:

Найти среднее арифметическое элементов каждой диагонали матрицы, параллельной побочной
Здравствуйте! Помогите написать 3 программмы на C++ на задачи с двумерными массивами 2. Дана квадратная матрица A порядка M. Найти...

Среднее арифметическое положительных элементов м-цы, расположенных выше ее побочной диагонали
Вобщем, подскажите, как реализовать это в программном коде? Дописал до этого момента: #include <iostream> using namespace...

Найти среднее арифметическое побочной диагонали двумерного массива
HEEELP Найти среднее арифметическое побочной диагонали двумерного массива

7
 Аватар для TimeTwo
102 / 95 / 104
Регистрация: 29.11.2009
Сообщений: 407
29.03.2016, 17:14
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
#include <iostream>
#include <stdlib.h>
using namespace std;
int main()
{
    int num,sum=0;
    cout<<"Введите N";
    cin>>num;
    int** a=new int*[num];
    int diag[num];
    for(int i=1; i<=num;i++) {
        a[i]=new int[num];
    }
    for (int j=1;j<=num;j++){
        cout<<endl;
        for (int i=1;i<=num;i++){
            a[i][j] = 1 + rand()%100;
            cout<<a[i][j]<<" ";
        }
    }
    for (int i=1;i<=num;i++){
        for(int j=1;j<=num;j++){
            if(i == j){
                diag[i] = a[num+1-j][i];
            }
        }
    }
    cout<<endl<<endl;;
    for(int i=1;i<=num;i++){
        sum += diag[i];
    }
    sum = sum/num;
    cout<<"answer: "<<sum;
    for(int i=1; i<=num;i++) {
        delete [] a[i];
    }
 
    return 0;
}
0
28 / 20 / 97
Регистрация: 22.10.2015
Сообщений: 304
30.03.2016, 03:35
TimeTwo, неправильно
0
 Аватар для TimeTwo
102 / 95 / 104
Регистрация: 29.11.2009
Сообщений: 407
30.03.2016, 08:52
у меня все компилиться и работает, по крайней мере для нечетных N, если N четное по непонятный мне причинам программа завершается
к сожалению, я не могу слать скрины с работы...

Добавлено через 6 минут
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
#include <iostream>
#include <stdlib.h>
using namespace std;
int main()
{
    int num,sum=0;
    cout<<"input N ";
    cin>>num;
    int** a=new int*[num];
    int diag[num];
    for(int i=0; i<num;i++) {
        a[i]=new int[num];
    }
    for (int j=0;j<num;j++){
        cout<<endl;
        for (int i=0;i<num;i++){
            a[j][i] = 1 + rand()%100;
            cout<<a[j][i]<<" ";
        }
    }
    for (int i=0;i<num;i++){
        for(int j=0;j<num;j++){
            if(i == j){
                diag[i] = a[num-j-1][i];
            }
        }
    }
    cout<<endl<<endl;;
    for(int i=0;i<num;i++){
        sum += diag[i];
    }
    sum = sum/num;
    cout<<"answer: "<<sum;
    for(int i=0; i<num;i++) {
        delete [] a[i];
    }
 
    return 0;
}
так все работает для любых N
0
28 / 20 / 97
Регистрация: 22.10.2015
Сообщений: 304
30.03.2016, 09:03
TimeTwo,
C++
1
2
3
4
5
6
7
for (int i=0;i<num;i++){
        for(int j=0;j<num;j++){
            if(i == j){
                diag[i] = a[num-j-1][i];
            }
        }
    }
зачем усложнять? одного цикла предостаточно без никаких условий
0
 Аватар для TimeTwo
102 / 95 / 104
Регистрация: 29.11.2009
Сообщений: 407
30.03.2016, 09:09
очень интересно, как вы двумерный массив пройдете за один цикл ...
лучше вместо без основательной критики, пишите нормальную с фактами и решениями лучше ...
ну или выдайте свой код ...
0
28 / 20 / 97
Регистрация: 22.10.2015
Сообщений: 304
30.03.2016, 09:15
TimeTwo,
C++
1
2
for (int i=0;i<num;i++)
   sum += a[i][num-1-i];
0
 Аватар для TimeTwo
102 / 95 / 104
Регистрация: 29.11.2009
Сообщений: 407
30.03.2016, 09:34
а еще нужно поменять
C++
1
 int diag[num];
на
C++
1
    int *diag = new int[num];
Добавлено через 17 минут
да, это не плохо упростит на пару строк
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
30.03.2016, 09:34
Помогаю со студенческими работами здесь

Найти среднее геометрическое и среднее арифметическое элементов главной диагонали матрицы
Написать функцию которая находит среднее геометрические и среднее арифметические элементы главной диагонали матрицы, заполнить и выполнить...

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

Даны две квадратные матрицы. Вычислить среднее арифметическое элементов главной и побочной диагонали каждой матрицы
помогите написать программный код на c++

Найти среднее арифметическое положительных элементов главной и побочной диагоналей матрицы
Сразу скажу что не получается,не могу понять куда здесь впихивать условие проверки положительных чисел,и главное когда запускается студия...

Найти количество элементов, больших 5, среди элементов главной диагонали, вычислить среднее арифметическое
№1.Дана матрица b.Найти кол-во элементов больше 5 среди элементов главной диагонали. №2.Вычислить среднее арифметич.положительных...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Вывод данных через динамический список в справочнике
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru