Форум программистов, компьютерный форум 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++ Программа должна удалять из строки все символы, что стоят на чётных местах после буквы "а"
Программа должна удалять из строки все символы, что стоят на чётных местах после буквы "а". Сделал программу которая это делает, но только с латиницей. Как сюда подключить кириллицу? #include<iostream> #include<cstring> using namespace std; int main() { setlocale(LC_ALL, "Russian"); // Программа работает только с латинницей. const int nSize =300; int i=0, j=0, k=0; char szStr1={0};
Рекурсивное вычисление корня k-й степени C++
Описать рекурсивную функцию RootK(X, K, N) вещественного типа, находящую приближенное значение корня K-й степени из числа X по формуле: Y_0 = 1, Y_{N+1} = Y_N -\frac{Y_N - \frac{X} {Y_N^{k-1}}}{k}, где Y_N обозначает RootK(X, K, N) при фиксированных X и K. Параметры функции: X (> 0) — вещественное число, K (> 1) и N (> 0) — целые. С помощью функции RootK найти для данного числа X...
C++ Существует что-то наподобие внешней декларации типов? http://www.cyberforum.ru/cpp-beginners/thread1226989.html
Доброго времени суток! Возник вопрос, существует что-то наподобие внешней декларации типов? например: header.h : #ifndef HEADER_H #define HEADER_H extern OtherType; void some_func(OtherType a);
C++ Зачем преобразовывать itsVal в int, если эта переменная и так объявлена как тип int // Оператор преобразования #include <iostream> using namespace std; class Counter { public: Counter(): itsVal(0) {} Counter(int val): itsVal(val) {} ~Counter() {} подробнее

Показать сообщение отдельно
frostyfull
31 / 31 / 8
Регистрация: 13.06.2014
Сообщений: 508
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();
}
 
Текущее время: 03:04. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru