Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.72/18: Рейтинг темы: голосов - 18, средняя оценка - 4.72
Alic
1 / 1 / 0
Регистрация: 06.05.2012
Сообщений: 17
1

Дан двумерный массив Х размером n*m, заполненный случайными числами.

13.08.2012, 15:28. Просмотров 3446. Ответов 3
Метки нет (Все метки)

Тема: Матрицы.
Дан двумерный массив Х размером n*m, заполненный случайными числами.
Вычислить сумму элементов с индексами кратными 3, среднее арифметическое всех четных элементов. Определить, есть ли в данном массиве строка, в которой имеется два элемента массива, имеющие наибольшие значения.

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.08.2012, 15:28
Ответы с готовыми решениями:

Дан двумерный массив размером nхm, заполненный случайными числами.
Прошу помощи с такой задачей: Дан двумерный массив размером nхm,...

Дан двумерный массив размером мхн заполненный случайными числами
Определить если в данном массиве столбец, в котором имеются одинаковые...

Дан Двумерный массив размером заполненный случайными числами, количество элементов 20, все положительные. 1.Оп
Дан Двумерный массив размером заполненный случайными числами, количество...

Дан двумерный массив размером nxm, заполненный случайным образом
23. Дан двумерный массив размером nхm, заполненный случайным образом....

Дан двумерный массив размером 5х6, заполненный случайным образом
Дан двумерный массив размером 5х6, заполненный случайным образом. Заменить...

3
Пaтрик
427 / 395 / 132
Регистрация: 21.01.2012
Сообщений: 974
Завершенные тесты: 1
13.08.2012, 17:18 2
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
#include <iostream>
#include <iomanip>
#include <cstdlib>
#include <ctime>
 
int main()
{
    const int n = 7;
    const int m = 6;
    int matrix[n][m];
    srand(time(NULL));
    for(int i = 0; i < n; i++)
    {
        for(int j = 0; j < m; j++)
            std::cout << std::setw(4) << (matrix[i][j] = rand() % 10);
        std::cout << std::endl;
    }
    // вычислить сумму элементов с индексами кратными 3
    int sum = 0;
    for(int i = 0; i < n; i += 3)
        for(int j = 0; j < m; j += 3)
            sum += matrix[i][j];
    std::cout << "Sum: " << sum << std::endl;
    // среднее арифметическое всех четных элементов
    sum = 0;
    int count = 0;
    for(int i = 0; i < n; i++)
        for(int j = 0; j < m; j++)
            if (matrix[i][j] % 2 == 0)
            {
                count++;
                sum += matrix[i][j];
            }
    std::cout << "Avg: " << ((double)sum / count) << std::endl;
    /*  Определить, есть ли в данном массиве строка,
     *  в которой имеется два элемента массива, имеющие наибольшие значения.
     */
    int max = matrix[0][0];
    for(int i = 0; i < n; i++)
        for(int j = 0; j < m; j++)
            if (matrix[i][j] > max)
                max = matrix[i][j];
    bool two_max_exist = false;
    for(int i = 0; i < n; i++)
    {
        count = 0;
        for(int j = 0; j < m; j++)
            if (matrix[i][j] == max)
                count++;
        if (count == 2)
        {
            two_max_exist = true;
            break;
        }
    }
    std::cout << "Max: " << max << std::endl;
    std::cout << "Yes, exist" << std::endl;
    return 0;
}
1
SubTerran
8 / 8 / 1
Регистрация: 13.08.2012
Сообщений: 18
13.08.2012, 17:35 3
Библиотека: Matrix.h
http://www.stroustrup.com/Programming/Matrix/Matrix.h

Библиотека: MatrixIO.h
http://www.stroustrup.com/Programming/Matrix/MatrixIO.h


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
99
100
101
102
103
104
105
106
107
108
109
110
111
//
// 
// 
//
 
#include<iostream>
#include<fstream>
#include<sstream>
#include<cmath>
#include<cstdlib>
#include<string>
#include<list>
#include<vector>
#include<algorithm>
#include<stdexcept>
#include "Matrix.h"
#include "MatrixIO.h"
 
using namespace Numeric_lib;
using namespace std;
 
//------------------------------------------------------------------------------
 
inline void keep_window_open()
{
    cin.clear();
    cout << "Please enter a character to exit\n";
    char ch;
    cin >> ch;
    return;
}
 
//------------------------------------------------------------------------------
 
inline int randint(int max) { return rand()%max; }
 
//------------------------------------------------------------------------------
 
int main()
{
    setlocale( LC_ALL, "Russian" );
 
    int n;
    int m;
 
    cout << "Введите n и m: ";
    cin >> n >> m;
 
    Matrix<int, 2> X(n, m);
 
    srand(2);
 
    for (Index i = 0; i < n; ++i)
        for (Index j = 0; j < m; ++j)
            X(i, j) = randint(20);
 
    cout << X << '\n';
 
    int sum = 0;
    int sum_even = 0;
    int even = 0;
 
    for (Index i = 0; i < n; ++i)
        for (Index j = 0; j < m; ++j)
        {
            if (X(i, j) % 2 == 0)
            {
                sum_even += X(i, j);
                ++even;
            }
            if (i % 3 == 0 && j % 3 == 0)
                sum += X(i, j);
        }
    
    cout << "Сумма элементов с индексами кратных 3: " << sum << '\n';
 
    cout << "Среднее арифметическое всех четных элементов: "
         << double(sum_even / even) << '\n';
 
    vector<int> vec;
    for (Index i = 0; i < n; ++i)
    {
        sort(&X[i][0], &X[i][0] + m);
        vec.push_back(X[i][m - 1]);
    }
 
    for (int i = 0; i < vec.size(); ++i)
    {
        if (vec[i] == *max_element(vec.begin(), vec.end()))
        {
            sort(vec.begin(), vec.end());
            if ((X[i][m - 2] >= vec[vec.size() - 2]))
            {
                cout << "Строка, в которой имеется два элемента массива, "
                     << "имеющие наибольшие значения:\n";
                cout << X[i] << '\n';
                break;
            }
            else
            {
                cout << "Строка, в которой имеется два элемента массива, "
                <<  "имеющие наибольшие значения не найдена\n";
                break;
            }
        }
    }
    keep_window_open();
    return 0;
}
 
//------------------------------------------------------------------------------
1
Ev[G]eN
iOS/Android Developer
Эксперт С++
5119 / 1557 / 950
Регистрация: 23.01.2011
Сообщений: 3,187
Завершенные тесты: 1
13.08.2012, 20:39 4
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
#include <iostream>
#include <iomanip>
#include <cstdlib>
#include <ctime>
 
int main()
{
    srand(time(0));
    const int Rows = 5, Colls = 5;
    int Matrix[Rows][Colls];
    int Summa = 0, Max_i = 0, Max_j = 0;
    int SummaEl = 0, Count = 0, CountS = 0;
    bool Flag = false; 
    
    std::cout<<"Matrix:\n";
    for (int i = 0; i < Rows; i++)
    {
        for (int j = 0; j < Colls; j++)
        {
            Matrix[i][j] = rand()%20;
            if (i % 3 == 0 && j % 3 == 0)
               Summa += Matrix[i][j];
            if (Matrix[i][j] % 2 == 0)
            {
               SummaEl += Matrix[i][j];
               Count++;
            }
            if (Matrix[i][j] > Matrix[Max_i][Max_j])
            {
               Max_i = i;
               Max_j = j;
            }
            std::cout<<std::setw(4)<<Matrix[i][j];
        }
        std::cout<<std::endl;
    }
        
    for (int i = 0; i < Rows; i++)
    {
        for (int j = 0; j < Colls; j++)
            if (Matrix[i][j] == Matrix[Max_i][Max_j])
               CountS++;
        if (CountS == 2)
           Flag = true;
        CountS = 0;
    }
    std::cout<<"Summa elementov s indexami, kratnie 3 = "<<Summa<<std::endl;
    std::cout<<"Sred. arifm, chetnih elementov = "<<(SummaEl / Count)<<std::endl;
    std::cout<<"Max element = "<<Matrix[Max_i][Max_j]<<std::endl;
    std::cout<<"Stroki, v kotorih 2 max. elementa - "<<Flag<<std::endl;
    
    system("pause");
    return 0;
}
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.08.2012, 20:39

Дан массив n*m заполненный случайными числами. Найти минимальный эл-т в заданной строке и вывести его индексы
В С++ builder 6. чет не работает програмка. randomize(); int...

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

Дан массив целых чисел, заполненный случайными числами. Вычислить количество элементов кратных пяти и заменить
Дан массив целых чисел, заполненный случайными числами. Вычислить количество...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru