Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
я_студент
0 / 0 / 0
Регистрация: 06.05.2014
Сообщений: 8
#1

Определить минимальный элемент главной диагонали матрицы 5x5 и номер строки, в котором он находится - C++

06.05.2014, 20:04. Просмотров 483. Ответов 7
Метки нет (Все метки)

Помогите,пожалуйста, с решением данной задачи:
"Определить минимальный элемент главной диагонали квадратной матрицы размером 5x5 и номер строки, в котором он находится."
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.05.2014, 20:04
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Определить минимальный элемент главной диагонали матрицы 5x5 и номер строки, в котором он находится (C++):

Найти номер строки и номер столбца, в котором находится минимальный элемент матрицы - C++
Как вывести номер столбца и номер строки? Совсем запутался. Вот код: #include<iostream.h> #include<conio.h> using namespace std; ...

Определить, находится ли минимальный элемент матрицы на главной диагонали - C++
определить, находиться ли минимальный элемент двухмерного массива на главной диагонали или нет как будет код? или цикл

Определить min элемент главной диагонали матрицы и напечатать столбец, в котором он находится - C++
Задана матрица целых чисел.Определить min элемент главной диагонали и напечатать столбец,в котором он находится. Желательно с блок схемой...

Определить минимальный элемент каждой строки матрицы и найти произведение положительных элементов, расположенных на ее главной диагонали. - C++
1. Определить минимальный элемент каждой строки матрицы. Напечатать его значение и индексы. 2. Найти произведение положительных элементов...

В матрице определить минимальный элемент и номер строки, где он находится - C++
В матрице размерами N*M определить минимальный элемент и номер строки, где он находится (N и M не больше 10). Матрицу сформировать из...

Определить номер строки, в которой находится минимальный член матрицы - C++
Добрый день. Помогите пожалуйста решить задачи 2. Дана прямоугольная матрица размером MxN. Определить номер строки, в которой находится...

7
MayaNash
1285 / 453 / 47
Регистрация: 24.08.2011
Сообщений: 2,214
06.05.2014, 20:37 #2
Ну, у элементов главной диагонали номер строки и столбца совпадают. Размер известен. Назначаем минимальным элемент [0][0], потом просматриваем остальные элементы на диагонали в цикле от 1 до 4, если элемент меньше, запоминаем.
0
sovaz1997
CEO SOVAZ Corp.
380 / 226 / 2
Регистрация: 17.12.2011
Сообщений: 819
Записей в блоге: 1
Завершенные тесты: 1
06.05.2014, 20:53 #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
 
using namespace std;
 
int main() {
    const int N = 5;
 
    int matrix[N][N] = {{1, 6, 8, 7, 5}, {9, 6, 3, 5, 0}, {0, 0, 1, 7, 78}, {25, 4, 2, 3, 9}, {7, 7, 7, 7, 7}};
 
    int min = matrix[0][0];
 
    for(int i = 0; i < N; ++i) {
        if(matrix[i][i] < min) {
            min = matrix[i][i];
        }
    }
    cout << "!";
    cout << min;
}
Как-то так
0
я_студент
0 / 0 / 0
Регистрация: 06.05.2014
Сообщений: 8
06.05.2014, 21:27  [ТС] #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
#include "stdafx.h"
#include <iostream>
 
int main(int argc, char* argv[])
{
    using namespace std; 
    const int n = 5, m = 5;
    int a[n][m] = { 1, 2, 3, 4, 1,
                    6, 7, 8, 8, 0,
                    1, 2, 3, 4, 1,
                    0, 1, 2, 3, 4,
                    1, 6, 7, 8, 9 };
    
    int min = a[0][0];
    int i, j;
    for (i = 0; i < n; i++)
    {
        for (j = 0; j < m; j++)
            cout << a[i][j] << "\t";
        cout << "\n";
    };
    int k;
 
    for (i = 0; i < n; i++)
        for (j = 0; j < m; j++)
            {if (i == j)
                if (a[i][j] < min);
    {
                    min = a[i][j];
                    k = i;
    }}
 
    cout << "min=" << min << "\n";
    cout << "k=" << k << "\n";
    system("pause");
    return 0;
}
Но результат программы неправильный. Минимальный элемент не тот
0
Tulosba
:)
Эксперт С++
4397 / 3233 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
06.05.2014, 21:33 #5
C++
1
if (a[i][j] < min) // здесь не должно быть точки с запятой
И достаточно одного цикла для перебора элементов диагонали.
1
nmcf
5544 / 4854 / 1647
Регистрация: 14.04.2014
Сообщений: 19,710
06.05.2014, 21:35 #6
Предварительно
C++
1
k=0;
При выводе
C++
1
cout << "k=" << k + 1 << "\n";
если нумерация элементов в задании предполагается с единицы.
0
я_студент
0 / 0 / 0
Регистрация: 06.05.2014
Сообщений: 8
06.05.2014, 22:11  [ТС] #7
Всем спасибо за помощь!)
Вот этот код правильный и выдает нужный результат:

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
#include "stdafx.h"
#include <iostream>
 
int main(int argc, char* argv[])
{
    using namespace std; 
    const int n = 5, m = 5;
    int a[n][m] = { 8, 2, 3, 4, 1,
                    6, 7, 8, 8, 0,
                    1, 2, 3, 4, 1,
                    0, 2, 2, 1, 4,
                    0, 6, 7, 8, 9 };
    
    int min = a[0][0];
    int i, j;
    for (i = 0; i < n; i++)
    {
        for (j = 0; j < m; j++)
        cout << a[i][j] << "\t";
        cout << "\n";
    };
    
    int k;
 
    for (i = 0; i < n; i++)
        for (j = 0; j < m; j++)
            {if (i == j)
                {if (a[i][j] < min)
    
                    min = a[i][j];
                    k = i;
        }}
 
    cout << "min=" << min << "\n";
    cout << "k=" << k << "\n";
    system("pause");
    return 0;
}
0
MayaNash
1285 / 453 / 47
Регистрация: 24.08.2011
Сообщений: 2,214
08.05.2014, 09:03 #8
Цитата Сообщение от я_студент Посмотреть сообщение
if (i == j)
если i == j, то зачем два цикла? можно писать a[i][i]
0
08.05.2014, 09:03
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.05.2014, 09:03
Привет! Вот еще темы с ответами:

Найти минимальный элемент каждой строки матрицы и поместить их на главной диагонали - C++
Двумерные массивы: 6)Найти минимальный элемент каждой строки квадратной матрицы X=( xi,k) и поместить их на главной диагонали, а...

Найти минимальный элемент матрицы 4х4 и вывести на экран номер строки и столбца в которых он находится - C++
Подправьте пожалуйста, чтобы матрица заполнялась рандомно. А также еще программа выдает ошибку #include &lt;stdio.h&gt; int...

Определить номер строки матрицы, в которой размещен минимальный элемент - C++
Дан массив размером 5x5 с элементами вещественного типа. Написать программу для вычисления номера строки, в котором размещено минимальный...

Удалить столбец матрицы, в котором находится минимальный элемент. - C++
Удалить столбец, в котором находится минимальный элемент.


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

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

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