Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 10.02.2016
Сообщений: 15
1

Задание с матрицами! Не могу правильно настроить

11.05.2016, 23:38. Показов 670. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
а)Двумерный массив размерностью 5 на 8 из целых элементов в диапазоне [-30, 30];
b) Найти максимальный элемент второй строки;
с) Вычислить сумму элементов третьего столбца;
d) Вывести исходную матрицу, элементы третьего столбца и значения максимального элемента и вычисленную сумму.

Массив я сделала, и максимальный элемент и сумму, НО! мне вывод рандомный элемент в (b,c заданиях), а нужно определенный (еще и не правильно его обозначает, то есть например оно выдает: максимальный элемент [3][7] = 8. А это 8 находится в [4][8])
А сумму мне вообще не понятно чего выводит
Люди добрые помогите!

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
#include <iostream>
#include <iomanip>
#include <stdlib.h>
#include <time.h>
using namespace std;
 
 
int main()
{
    setlocale(LC_ALL, "Russian");
    const int size1 = 5, size2 = 8;
    int matrix[size1][size2] = {0}, x, y, sum = 0, max;
 
    max = matrix[0][0];
    srand(time(NULL));
    cout << "Матрица: " << endl;
 for (int i = 0; i < size1; i++)
    {
        for (int j = 0; j < size2; j++)
        {
            matrix[i][j] = rand()%41 -30;
            cout << setw(4) << matrix[i][j];
            if (max < matrix[i][j])
            {
                max = matrix[i][j];
                x = i;
                y = j;
            }
        }
        cout << endl << endl;
    }
 
 
 
 
 
    for (int j = 0; j < size1; j++)
        sum += matrix[x][j];
 
    cout << endl << "Максимальный элемент matrix[" << x << "][" << y << "] = " <<  max
         << endl << "Сумма элементов строки " << x << " равна " << sum << endl;
    system("pause");
    return 0;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.05.2016, 23:38
Ответы с готовыми решениями:

Sbt, многомодульное приложение на - не могу правильно настроить порядок сборки
Здравствуйте! Не думал, что sbt настолько непонятный интсрумент сборки. У меня есть главный...

Верстальщик прислал форму авторизации на HTML, не могу разобраться, как ее правильно настроить
Собственно, кому не тяжело, объясните, пожалуйста, как сделать этот код рабочим. Я сильно...

Задание с матрицами (нестандартные функции)
Создать двухмерный массив размера M на N из случайных чисел, в котором элементы в нечетных строках...

Объясните, пожалуйста, задание с матрицами
Объясните, пожалуйста, вот это задание (из книги &quot;Mathemetics for 3d game programming and...

2
56 / 56 / 44
Регистрация: 24.03.2016
Сообщений: 378
11.05.2016, 23:59 2
Andreeva,
C++
1
2
3
4
5
6
7
8
if (max < matrix[i][j])
            {
                max = matrix[i][j];
                x = i;
                y = j;
                x += 1;
                y += 1;
            }
Добавлено через 2 минуты
Так понятней:

C++
1
2
3
4
5
6
7
if (max < matrix[i][j])
            {
                max = matrix[i][j];
                x = i + 1;
                y = j + 1;
                
            }
0
1375 / 519 / 72
Регистрация: 21.07.2015
Сообщений: 1,304
12.05.2016, 00:32 3
Ну как-то так это может выглядеть:
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
#include <iostream>
#include <algorithm>
#include <iostream>
#include <random>
 
int main()
{
    const size_t h = 5, w = 8;
    std::random_device rand;
    std::mt19937 gen(rand());
    std::uniform_int_distribution <> distr(-30, 30);
    int matrix[h][w];
    std::cout << "matrix: " << std::endl;
    for(auto &row : matrix)
    {
        for(auto &val : row)
        {
            val = distr(gen);
            std::cout.width(4);
            std::cout << val;
        }
        std::cout << std::endl;
    }
    typeof(**matrix) sum = 0;
    std::cout << "Elements of third column: ";
    for(size_t idx = 0; idx < h; idx++)
    {
        sum += matrix[idx][2];
        std::cout << matrix[idx][2] << ' ';
    }
    std::cout << std::endl;
    auto max = std::max_element(matrix[1], matrix[1] + w);
    std::cout << "Max item in line 2: " << *max 
        << ", index : " << std::distance(matrix[1], max) << std::endl;
    std::cout << "Sum of third column: " << sum <<  std::endl;      
    return 0;
}
http://ideone.com/woj6wx
0
12.05.2016, 00:32
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.05.2016, 00:32
Помогаю со студенческими работами здесь

С чего и как начать? Задание с матрицами
Дали задание на курсовую, которое мы не разу не делали. Вообще нет представления как что. Само...

Задание графов матрицами смежности,инцидентности
1. задать граф матрицей смежности; 2. задать граф матрицей инцидентности; 3. задать граф списком...

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

Выручайте! надо 2 задания решить, Выражение с матрицами и Задание с линейным наближением!
Добрый день! на завтра очень нужно сделать 2 задания, помогите пожалуйста, буду очень благодарен,...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru