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

Найти среднее арифметическое двух диагоналей массива - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Как подключить GDI+ в Code::Blocks? http://www.cyberforum.ru/cpp-beginners/thread1227079.html
Здравствуйте. Пытаюсь работать с графикой в Code::Blocks, но, найти GDI+ не удалось: т.е. ни библиотек, ни заголовочных файлов там нет.Откуда их можно скачать/установить? в интернете есть 2-3...
C++ Управляемый препроцессинг Наверняка промахнусь разделом, так что переместите пожалуйста если есть более подходящий.Суть вопроса такова: есть условный исходник, который участвует в сборке под несколько осей и несколько типов... http://www.cyberforum.ru/cpp-beginners/thread1227058.html
C++ Программа должна удалять из строки все символы, что стоят на чётных местах после буквы "а"
Программа должна удалять из строки все символы, что стоят на чётных местах после буквы "а". Сделал программу которая это делает, но только с латиницей. Как сюда подключить кириллицу?...
Рекурсивное вычисление корня k-й степени C++
Описать рекурсивную функцию RootK(X, K, N) вещественного типа, находящую приближенное значение корня K-й степени из числа X по формуле: Y_0 = 1, Y_{N+1} = Y_N -\frac{Y_N - \frac{X}...
C++ Существует что-то наподобие внешней декларации типов? http://www.cyberforum.ru/cpp-beginners/thread1226989.html
Доброго времени суток! Возник вопрос, существует что-то наподобие внешней декларации типов? например: header.h : #ifndef HEADER_H #define HEADER_H extern OtherType; void...
C++ Зачем преобразовывать itsVal в int, если эта переменная и так объявлена как тип int // Оператор преобразования #include <iostream> using namespace std; class Counter { public: Counter(): itsVal(0) {} Counter(int val): itsVal(val) {} ~Counter() {} подробнее

Показать сообщение отдельно
frostyfull
32 / 32 / 8
Регистрация: 13.06.2014
Сообщений: 509
14.07.2014, 16:16
Antosha, ну тогда подожди не множк, адаптирую код под тебя)

Добавлено через 54 минуты
Antosha, держи
я постарался все закоментировать, чтобы тебе было понятно, в проге создается двумерный динамический массив, кол-во строк и столбцов одинаковое, иначе я хз как диагонали считать
все элементы забиваются рандомно, так же присутствует проверка на ввод отрицательных чисел
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
#include <conio.h>
#include <ctime>
#include <iostream>
using namespace std;
 
void main(void)
{
    int** massiv = 0;
    float summ = 0;
    int razm = 0, tru = 0;
    srand(time(0));//это для правильной работы рандома
    //создание двумерного динамического массива с проверкой, но то, что числа больше нуля
        cout << "vvedite razmer massiva" << endl;
        cin >> razm;
        if (razm>0)  {
            massiv = new int*[razm];
            for (int i = 0; i<razm; i++)
                massiv[i] = new int[razm];
            for (int i = 0; i<razm; i++)
            {
                cout << i + 1 << ".";
                for (int j = 0; j<razm; j++)
                {
                    massiv[i][j] = rand() % 10;
                    cout << massiv[i][j] << '\t';
                }
                cout << endl;
            }
    //суммирование элементов диагоналей
    for (int i = 0; i<razm; i++)
    {
        summ += massiv[i][i]+massiv[razm-i-1][razm-i-1];
        
    }
    //само среднее арифметическое, если размер массива четный, то общее кол-во элементов равно размер*2, если наоборот то еще -1
    if (razm % 2 == 0) summ = summ / (razm * 2);
    else summ = summ/((razm * 2) - 1);
    //вывод
    cout << "Srednee arifmeticheskoe diagonalei:" << endl; 
    cout << summ << endl;
            
    }
        
    
    else cout << "Poprobuite esche razok";
    _getch();
}
Добавлено через 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
40
41
42
43
44
45
46
47
48
49
50
51
#include <conio.h>
#include <ctime>
#include <iostream>
using namespace std;
 
void main(void)
{
    int** massiv = 0;
    float summ = 0;
    int razm = 0, tru = 0;
    srand(time(0));//это для правильной работы рандома
    //создание двумерного динамического массива с проверкой, но то, что числа больше нуля
        cout << "vvedite razmer massiva" << endl;
        cin >> razm;
        if (razm>0)  {
            massiv = new int*[razm];
            for (int i = 0; i<razm; i++)
                massiv[i] = new int[razm];
            for (int i = 0; i<razm; i++)
            {
                cout << i + 1 << ".";
                for (int j = 0; j<razm; j++)
                {
                    massiv[i][j] = rand() % 10;
                    cout << massiv[i][j] << '\t';
                }
                cout << endl;
            }
    //суммирование элементов диагоналей
            for (int i = 0; i<razm; i++)
                {
 
                    summ += massiv[i][i] + massiv[razm - i - 1][i];
 
                }
        if (razm % 2 == 1) summ -= massiv[((razm - 1) / 2)][((razm - 1) / 2)];
    
    cout << summ << endl;
    //само среднее арифметическое, если размер массива четный, то общее кол-во элементов равно размер*2, если наоборот то еще -1
    if (razm % 2 == 0) summ = summ / (razm * 2);
    else summ = summ/((razm * 2) - 1);
    //вывод
    cout << "Srednee arifmeticheskoe diagonalei:" << endl; 
    cout << summ << endl;
            
    }
        
    
    else cout << "Poprobuite esche razok";
    _getch();
}
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru