-36 / 0 / 0
Регистрация: 16.02.2014
Сообщений: 34
1

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

09.03.2014, 12:12. Показов 2118. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
1. Дан двумерный массив, заполненный случайными числами (размер массива может быть разным).
а) Вывести на экран элемент, расположенный в правом верхнем углу массива.
б) Вывести на экран элемент, расположенный в левом нижнем углу массива.
в) Вывести на экран элемент, расположенный в левом верхнем углу массива.
г) Вывести на экран элемент, расположенный в правом нижнем углу массива.

2. Дан двумерный массив, заполненный случайными числами (размер массива может быть разным).
а) Вывести на экран вторую строку массива
б) Вывести на экран последний столбец массива.

3. Написать программу, которая в позицию [n][m] записывает значение k (n,m,k вводит пользователь).
P.S. Можно использовать массив из предыдущего задания.

4. Дан двумерный массив размером 5 х 5. Заполнен случайными двузначными числами.
а) Вывести на экран среднее арифметическое второго столбца массива.
б) Вывести на экран сумму чисел третьей строки массива.
* в) Вывести на экран сумму чисел диагоналей двумерного массива.

5. Дан двумерный массив целых чисел, заполненный случайными числами от -50 до 50. Определить:
а) сумму отрицательных элементов пятой строки массива
б) среднее арифметическое четных элементов пятого столбца
в) Ряд, в котором находится самое большое число в массиве
г) Столбец, в котором находится самое маленькое число в массиве
* д) Количество различных элементов в нем
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.03.2014, 12:12
Ответы с готовыми решениями:

Надо написать программу массивы (консольное приложение)
Привет. Помогите написать программу. 1.(При запуске программа выводит из массива) Дата |...

Как открыть консольное приложение в .NET через другое консольное приложение .NET
Есть один вопрос. Как открыть консольное приложение .NET через другое консольное приложение .NET,...

консольное приложение (при запуске приложение открывалось на весь экран)
Как сделать, чтобы при запуске приложение открывалось на весь экран?

Как переделать консольное приложение в приложение с GUI?
Есть приложение, работающее в консоли, захотелось сделать с графическим интерфейсом, уперся в...

13
2 / 2 / 3
Регистрация: 28.05.2013
Сообщений: 28
09.03.2014, 12:46 2
Задача номер 1.
Нам по условиям все-таки даются размеры массива или нет? 0_о
0
Модератор
Эксперт С++
13244 / 10386 / 6210
Регистрация: 18.12.2011
Сообщений: 27,782
09.03.2014, 12:49 3
C++
1
2
3
4
5
6
7
8
9
10
const int N=5;
const int M=4;
int Mass[N][M];
for(int i=0;i<N;i++)
for(int j=0;j<M;j++)
     mass[i][j]=rand();
cout<<mass[0][M-1]<<endl;  
cout<<mass[N-1][0]<<endl;  
cout<<mass[0][0]<<endl;  
cout<<mass[N-1][M-1]<<endl;
0
-36 / 0 / 0
Регистрация: 16.02.2014
Сообщений: 34
09.03.2014, 12:52  [ТС] 4
Цитата Сообщение от zss Посмотреть сообщение
Сергей Сергеевич
А можно сам целый код а то я не очень разбраюсь в С++.
0
Модератор
Эксперт С++
13244 / 10386 / 6210
Регистрация: 18.12.2011
Сообщений: 27,782
09.03.2014, 12:58 5
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
using namespace std;
int main()
{
   const int N=5;
   const int M=4;
   int Mass[N][M];
   for(int i=0;i<N;i++)
     for(int j=0;j<M;j++)
         mass[i][j]=rand();
   cout<<mass[0][M-1]<<endl;  
   cout<<mass[N-1][0]<<endl;  
   cout<<mass[0][0]<<endl;  
   cout<<mass[N-1][M-1]<<endl;
   system("pause");
   return 0;
}
1
С++ Beginner
120 / 120 / 77
Регистрация: 28.02.2013
Сообщений: 246
15.03.2014, 15:12 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
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;
}
1
Одессит
243 / 88 / 44
Регистрация: 30.12.2013
Сообщений: 316
Записей в блоге: 2
15.03.2014, 16:47 7
Я вот концовку придумал.
C++
1
2
    return 0;
}
0
2644 / 2220 / 239
Регистрация: 03.07.2012
Сообщений: 8,064
Записей в блоге: 1
15.03.2014, 17:11 8
А я - начало середины:
C++
1
2
int main()
{
0
-36 / 0 / 0
Регистрация: 16.02.2014
Сообщений: 34
15.03.2014, 17:56  [ТС] 9
MarVaL, ето не то , что надо. нужно чтобы обязательно начиналось вот так :
Код C++

#include <iostream>
using namespace std;
0
New to C++
83 / 44 / 10
Регистрация: 14.01.2013
Сообщений: 258
15.03.2014, 18:02 10
Да хоть с класса пусть начинается, а разница то какая?
Может человеку не хочется писать using namespace std; или он использует слова которые находятся в std и ради того чтобы не было ошибок, он прописывает их вручную.
0
IrineK
15.03.2014, 21:06
  #11

Не по теме:

Цитата Сообщение от lexo2534 Посмотреть сообщение
нужно чтобы обязательно начиналось вот так :
Код C++
#include <iostream>
using namespace std;
"Отче наш" новой эпохи?
Каноны постулировать легче, чем знания добывать.

0
-36 / 0 / 0
Регистрация: 16.02.2014
Сообщений: 34
15.03.2014, 21:18  [ТС] 12
Цитата Сообщение от Progers Посмотреть сообщение
Да хоть с класса пусть начинается, а разница то какая?
Для меня -- большая. Сказано обязательно, значит обязательно!
0
Одессит
243 / 88 / 44
Регистрация: 30.12.2013
Сообщений: 316
Записей в блоге: 2
15.03.2014, 21:31 13

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
#include <iostream>
 using namespace std;
 
 
 
#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;
}
0
-36 / 0 / 0
Регистрация: 16.02.2014
Сообщений: 34
15.03.2014, 21:34  [ТС] 14
kylroma, точнее, чтоби било только так
C++
1
2
3
4
#include <iostream>
using namespace std;
void main()
{...}
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.03.2014, 21:34
Помогаю со студенческими работами здесь

Не могу перенести консольное приложение C++ на приложение WindowsForm
Не могу разобраться, как перенести данное приложение из консоли на форму #include &lt;math.h&gt;...

переделать консольное приложение табулирования в приложение с формой
Помогите пожалуйста переделать консольное приложение табулирования в приложение с формой,где...

Переделать консольное приложение в приложение Windows Forms
Дорогие друзья пожалуйста помогите в консольным приложением. У меня есть код, но он под консольное...

Табулирование функции и поиск данных. Одномерные массивы. Двумерные массивы
Вычислить сумму первых четырех отрицательных элементов. В соответствии с п. 5.16 правил...


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru