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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 29, средняя оценка - 4.79
shyrik2014
3 / 3 / 2
Регистрация: 31.10.2009
Сообщений: 112
#1

Найти минимальный элемент на главной диагонали матрицы - C++

04.10.2010, 22:20. Просмотров 4830. Ответов 23
Метки нет (Все метки)

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

Найти минимальный элемент, расположенный на главной диагонали матрицы - C++
1) Для массива А, состоящего из N элементов. a)Найти минимальный элемент, расположенный на главной диагонали матрицы A, а из элементов...

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

Найти минимальный элемент главной диагонали заданной квадратной матрицы - C++
Найти минимальный элемент главной диагонали массива А .

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

Найти произведение элементов главной диагонали матрицы, минимальный элемент в 3-ей строке - C++
#include "stdafx.h" #include <math.h> #include <iomanip> #include <iostream> #include <fstream> using namespace std; int...

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

23
ForEveR
В астрале
Эксперт С++
7983 / 4742 / 321
Регистрация: 24.06.2010
Сообщений: 10,543
Завершенные тесты: 3
04.10.2010, 22:22 #2
shyrik2014,

C++
1
2
3
4
5
6
7
int min=Arr[0][0];
for(int i=0, int j=0; i<n, j<m; ++i, ++j)
{
    if(Arr[i][j]<min)
       min=Arr[i][j];
}
std::cout<<min<<'\n';
При условии что матрица квадратная.
0
shyrik2014
3 / 3 / 2
Регистрация: 31.10.2009
Сообщений: 112
04.10.2010, 22:51  [ТС] #3
Цитата Сообщение от Lavroff Посмотреть сообщение
shyrik2014,

C++
1
2
3
4
5
6
7
int min=Arr[0][0];
for(int i=0, int j=0; i<n, j<m; ++i, ++j)
{
    if(Arr[i][j]<min)
       min=Arr[i][j];
}
std::cout<<min<<'\n';
При условии что матрица квадратная.
а как это выглядит на чистом С?
0
ForEveR
В астрале
Эксперт С++
7983 / 4742 / 321
Регистрация: 24.06.2010
Сообщений: 10,543
Завершенные тесты: 3
04.10.2010, 22:54 #4
shyrik2014,

C
1
2
3
4
5
6
7
8
int min=Arr[0][0];
int i, j;
for(i=0, j=0; i<n, j<m; ++i, ++j)
{
    if(Arr[i][j]<min)
        min=Arr[i][j];
}
printf("Min: %d\n", min);
0
shyrik2014
3 / 3 / 2
Регистрация: 31.10.2009
Сообщений: 112
04.10.2010, 23:06  [ТС] #5
Цитата Сообщение от Lavroff Посмотреть сообщение
shyrik2014,

C
1
2
3
4
5
6
7
8
int min=Arr[0][0];
int i, j;
for(i=0, j=0; i<n, j<m; ++i, ++j)
{
    if(Arr[i][j]<min)
        min=Arr[i][j];
}
printf("Min: %d\n", min);
а как это будет выглядеть в полноценной форме с библиотеками, в полной форме программа не отрабатывает
0
ForEveR
В астрале
Эксперт С++
7983 / 4742 / 321
Регистрация: 24.06.2010
Сообщений: 10,543
Завершенные тесты: 3
04.10.2010, 23:12 #6
shyrik2014,
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
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
 
int main()
{
srand((unsigned)(time(NULL)));
int i, j;
int**Arr;
int n;
printf("Enter n: ");
scanf("%d", &n);
Arr=(int**)(malloc(n*sizeof(int*)));
for(i=0; i<n; ++i)
    Arr[i]=(int*)(malloc(n*sizeof(int)));
for(i=0; i<n; ++i)
{
   for(j=0; j<n; ++j)
   {
       Arr[i][j]=(rand()%100)+1;
   }
}
for(i=0; i<n; ++i)
{
    for(j=0; j<n; ++j)
    {
         printf("%d ", Arr[i][j]);
    }
    printf("\n");
}
int min=Arr[0][0];
for(i=0, j=0; i<n, j<n; ++i, ++j)
{
    if(Arr[i][j]<min)
        min=Arr[i][j];
}
printf("Min: %d\n", min);
for(int i=0; i<n; ++i)
free(Arr[i]);
free(Arr);
return 0;
}
0
fasked
Эксперт С++
4948 / 2528 / 180
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
04.10.2010, 23:20 #7
Lavroff, в цикле нахождения минимума счетчик j не нужен, диагональ то одна

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
#include <stdio.h>
#include <stdlib.h>
 
#define ROWS 5
#define COLS 5
 
int main()
{
    int i = 0;
    int j = 0;
    int min = 0;
    int matrix[ROWS][COLS];
 
    for(i = 0; i < ROWS; ++i) {
        for(j = 0; j < COLS; ++j)
            matrix[i][j] = rand() % 99;
    }
    
    min = matrix[0][0];
    for(i = 0; i < ROWS && i < COLS; ++i) {
        if(min > matrix[i][i])
            min = matrix[i][i];
    }
    
    for(i = 0; i < ROWS; ++i) {
        for(j = 0; j < COLS; ++j)
            printf("%.2d ", matrix[i][j]);
        printf("\n");
    }
    
    printf("minimum on main diagonal is %d\n", min);
    return 0;
}
1
ForEveR
В астрале
Эксперт С++
7983 / 4742 / 321
Регистрация: 24.06.2010
Сообщений: 10,543
Завершенные тесты: 3
04.10.2010, 23:25 #8
fasked, М. Да) Согласен
0
shyrik2014
3 / 3 / 2
Регистрация: 31.10.2009
Сообщений: 112
04.10.2010, 23:31  [ТС] #9
fasked, а можно более компактнее и попроще сделать программу?
0
ForEveR
В астрале
Эксперт С++
7983 / 4742 / 321
Регистрация: 24.06.2010
Сообщений: 10,543
Завершенные тесты: 3
04.10.2010, 23:33 #10
shyrik2014, Куда ж еще проще-то? О_о
Ну можно матрицу не выводить... А может вообще переписать все в одну строчку, если так нужна "компактность"
0
fasked
Эксперт С++
4948 / 2528 / 180
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
04.10.2010, 23:35 #11
shyrik2014, здесь как бе итак то всего три цикла, из которых два это заполнение и вывод матрицы и только один функциональный %)
1
shyrik2014
3 / 3 / 2
Регистрация: 31.10.2009
Сообщений: 112
04.10.2010, 23:37  [ТС] #12
fasked, если нельзя, то есть пару вопросов по этому коду #define rows,cols объявляем вначале, а потом используем их в матрице, что это такое поясните?
0
ForEveR
В астрале
Эксперт С++
7983 / 4742 / 321
Регистрация: 24.06.2010
Сообщений: 10,543
Завершенные тесты: 3
04.10.2010, 23:38 #13
А как насчет того, чтобы их задать?
0
shyrik2014
3 / 3 / 2
Регистрация: 31.10.2009
Сообщений: 112
04.10.2010, 23:46  [ТС] #14
Lavroff, выше задал вопрос
0
ForEveR
В астрале
Эксперт С++
7983 / 4742 / 321
Регистрация: 24.06.2010
Сообщений: 10,543
Завершенные тесты: 3
04.10.2010, 23:48 #15
shyrik2014, Макросы. Фактически константы.
При встрече в тексте компилятор заменяет их на определения. Т.е.
#define rows 5

rows будет заменена на 5.
0
04.10.2010, 23:48
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.10.2010, 23:48
Привет! Вот еще темы с ответами:

Заменить элементы главной и побочной диагоналей матрицы на минимальный элемент ниже главной диагонали - C++
В квадратной матрице А заменить элементы главной и побочной диагоналей на минимальный элемент, найденный среди элементов, расположенных...

Найти произведение максимального элемента главной диагонали на минимальный элемент побочной диагонали - C++
Всем привет! Мастера помогите доделать задание с матрицой. Вот само задание: Найти произведение максимального элемента главной...

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

Вывести минимальный элемент главной диагонали заданной матрицы - C++
Дано квадратную матрицу порядка M. Вывести минимальный элемент главной диагонали.


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

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

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