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

Двумерные массивы на C++ (Консольное приложение) - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Кратна ли трем сумма цифр двухзначного числа http://www.cyberforum.ru/cpp-beginners/thread1119752.html
Написать программу, которая определяет кратна ли трем сумма цифр двухзначного числа. #include<stdio.h> #include<conio.h> #include<math.h> main() { int N,S; printf("Введите число N\n"); printf("N=");scanf("%d",&N);
C++ Не пойму что делает : в конструкторе не пойму что делает : в конструкторе.заранее спасибо за ответ. Year(int x):y(x){ if (x<min || x>max) throw Invalid();} Year(int x):y(x){ -не ясен данный фрагмент http://www.cyberforum.ru/cpp-beginners/thread1119739.html
C++ Синглтон для лог файла!
#include <iostream> #include <cmath> #include <limits> #include <stdio.h> #include <math.h> #include <fstream> using namespace std; class pole { public:
C++ Составить блок-схему по заданному коду
Составить блок-схему по заданному коду: #include <iostream> using namespace std; int main() { setlocale (LC_ALL,"Russian"); int month; month=1; do
C++ Составить блок-схему по заданному коду http://www.cyberforum.ru/cpp-beginners/thread1119726.html
Составить блок-схему по заданному коду: #include <iostream> #include <math.h> using namespace std; void main() { setlocale(LC_ALL,"Russian"); double x,y,r; cout<<"Введите x=";
C++ Какую бесплатную среду (IDE) разработки для С++ 2013/2014 года выпуска лучше скачать? Существуют множество как и бесплатные, так и платные среды разработок для С++ , но что делать, если вы можете скачать только один раз и то нужный (правильный) продукт, так как трафик интернета не позволяет скачивать большие- объемные файлы по несколько раз, только чтобы понят "надо это" или "нет". Язык программирования: С++ Уровень: Начинающий Варианты: 1. Microsoft Visual Studio Express... подробнее

Показать сообщение отдельно
MarVaL
С++ Beginner
 Аватар для MarVaL
116 / 116 / 16
Регистрация: 28.02.2013
Сообщений: 246
15.03.2014, 15:12     Двумерные массивы на C++ (Консольное приложение)
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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
/*
1. Дан двумерный массив размером 5 х 5. Заполнен случайными двузначными числами. 
а) Вывести на экран среднее арифметическое второго столбца массива. 
б) Вывести на экран сумму чисел третьей строки массива. 
* в) Вывести на экран сумму чисел диагоналей двумерного массива.
 
2. Дан двумерный массив целых чисел, заполненный случайными числами от -50 до 50. Определить: 
а) сумму отрицательных элементов пятой строки массива 
б) среднее арифметическое четных элементов пятого столбца
в) Ряд, в котором находится самое большое число в массиве
г) Столбец, в котором находится самое маленькое число в массиве
* д) Количество различных элементов в нем
*/
#include <iostream>
#include <cstdlib>
#include <ctime>
#include <iomanip>
 
int* getMatrix(const int n, const int m);
void fillMatrix(int *matrix, const int n, const int m);
void displayMatrix(int *matrix, const int n, const int m);
void deleteMatrix(int *matrix);
float getAverage(int *matrix, const int col_index, const int n, const int m);
int getSum(int *matrix, const int row_index, const int m);
 
int main()
{
    setlocale(LC_ALL, "russian");
    
    const int COL_INDEX = 1;
    const int ROW_INDEX = 2;
 
    std::cout << "Введите n = ";
    int n;
    std::cin >> n;
 
    std::cout << "Введите m = ";
    int m;
    std::cin >> m;
 
    int *matrix = getMatrix(n, m);
    fillMatrix(matrix, n, m);
    displayMatrix(matrix, n, m);
 
    std::cout << "Среднее арифметическое " << COL_INDEX+1 << " столбца = " 
              << std::setiosflags(std::ios::fixed) << std::setiosflags(std::ios::showpoint) << std::setprecision(2)
              << getAverage(matrix, COL_INDEX, n, m) << std::endl;
    std::cout << "Сумма " << ROW_INDEX+1 << " строки = " << getSum(matrix, ROW_INDEX, m)
              << std::endl;
 
    int sumMain = 0;
    for(int i = 0; i < n; ++i)
            sumMain += matrix[i * m + i];
    std::cout << "Сумма элементов главной диагонали = " << sumMain << std::endl;
 
    deleteMatrix(matrix);
    return 0;
}
 
int* getMatrix(const int n, const int m)
{
    int* matrix = new int[n * m];
    return matrix;
}
 
void fillMatrix(int *matrix, const int n, const int m)
{
    srand(time(0));
    for(int i = 0; i < n * m; ++i)
        matrix[i] = 10 + rand() % 80;
}
 
void displayMatrix(int *matrix, const int n, const int m)
{
    for(int i = 0; i < n * m; ++i)
        std::cout << matrix[i] << ((i+1) % n != 0 ? "  " : "\n");
}
 
float getAverage(int *matrix, const int col_index, const int n, const int m)
{
    float avg = 0.0f;
    for(int i = 0; i < n; ++i)
        avg += matrix[i * m + col_index];
    return avg / n;
}
 
int getSum(int *matrix, const int row_index, const int m)
{
    int sum = 0;
    for(int j = 0; j < m; ++j)
        sum += matrix[row_index * m + j];
    return sum;
}
 
void deleteMatrix(int *matrix)
{
    delete[] matrix;
}
 
Текущее время: 14:10. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru