Форум программистов, компьютерный форум CyberForum.ru

Найти максимальный и минимальный элемент в каждой строке матрицы и поменять их местами - C++

Восстановить пароль Регистрация
 
yana11111
0 / 0 / 0
Регистрация: 17.10.2013
Сообщений: 12
12.11.2013, 22:08     Найти максимальный и минимальный элемент в каждой строке матрицы и поменять их местами #1
Дана матрица вещественных чисел N х М. Количество строк N и столбцов М задается пользователем. Найти максимальный и минимальный элемент в каждой строке и поменять их местами. Найти сумму элементов на главной диагонали.
вот что смогла пока написать, не знаю почему, но неправильно находится минимальный элемент строки массива , из-за этого не могу идти дальше (((не вижу ошибки(( помогите))
C++ (Qt)
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
#include <stdio.h>
void main()
{
int i,j,n,m,nom_max,nom_min;
float b[100][100],min,max;
 
printf("VVedite kol-vo strok ");
scanf("%d",&n);
printf("VVedite kol-vo stolbcov ");
scanf("%d",&m);
for (i=0;i<n;i++)
    for (j=0;j<m;j++)
    {
        printf("Vvedite element [%d,%d]\n", i+1, j+1);
        scanf("%f",&b[i][j]);
    }
printf("MATRICA: \n");
for (i=0;i<n;i++)
{
    for (j=0;j<m;j++)
        printf("%.0f  ", b[i][j]);
    printf("\n");
}
for (i=0;i<n;i++)
{ min=b[i][0];
nom_min=0;
for (j=0;j<m;j++)
{if (min>b[i][j]);
{min=b[i][j];
nom_min=j;}}
printf("Min element %d stroki - %.0f\n",i+1,min);
max=b[i][0];
nom_max=0;
for (j=0;j<m;j++)
{if (max<b[i][j]);
{max=b[i][j];
nom_max=j;}}
printf("Max element %d stroki - %.0f\n",i+1,max);}
 
}
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.11.2013, 22:08     Найти максимальный и минимальный элемент в каждой строке матрицы и поменять их местами
Посмотрите здесь:

C++ Найти в каждой строке матрицы наибольший элемент и поменять его местами с элементом главной диагонали
C++ В произвольной матрице поменять местами в каждой строке минимальный и максимальный элементы
В каждой строке матрицы A (n, n) найти наибольший элемент и поменять его местами с соответствующим диагональным элементом. C++
C++ В произвольной матрице A [ N ][ M ] поменять местами в каждой строке минимальный и максимальный элементы
Поменять местами максимальный и минимальный элемент матрицы C++
Найти в каждой строке матрицы наибольший элемент и поменять его местами с элементом главной диагонали C++
Найти в каждой строке матрицы максимальный и минимальный элементы и поменять их местами с первым и последним элементом C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
NikitaQ
5 / 5 / 1
Регистрация: 10.09.2013
Сообщений: 51
12.11.2013, 22:10     Найти максимальный и минимальный элемент в каждой строке матрицы и поменять их местами #2
Нормально код запишите, пожалуйста! Есть специальные теги для c++
yana11111
0 / 0 / 0
Регистрация: 17.10.2013
Сообщений: 12
12.11.2013, 22:11  [ТС]     Найти максимальный и минимальный элемент в каждой строке матрицы и поменять их местами #3
)))
Anton_Kretov
 Аватар для Anton_Kretov
89 / 51 / 7
Регистрация: 26.06.2013
Сообщений: 179
12.11.2013, 22:14     Найти максимальный и минимальный элемент в каждой строке матрицы и поменять их местами #4
yana11111, быть может не по теме, а зачем с QT то? (я про теги кода).
По теме, могу скинуть свой вариант решения.
yana11111
0 / 0 / 0
Регистрация: 17.10.2013
Сообщений: 12
12.11.2013, 22:16  [ТС]     Найти максимальный и минимальный элемент в каждой строке матрицы и поменять их местами #5
Цитата Сообщение от Anton_Kretov Посмотреть сообщение
yana11111, быть может не по теме, а зачем с QT то? (я про теги кода).
По теме, могу скинуть свой вариант решения.
как понять QT?
AlinkoMalinko
3 / 3 / 1
Регистрация: 12.11.2013
Сообщений: 42
12.11.2013, 22:23     Найти максимальный и минимальный элемент в каждой строке матрицы и поменять их местами #6
можно пару вопросов по коду? Вы слышали что-то о динамическом выделении памяти?
Далее: для решения принципиально важно знать, вы не заполняете матрицу отрицательными числами? Тогда это не мешало бы запретить.... С поиском минимального элемента готова помочь, после ответов на мои вопросы
yana11111
0 / 0 / 0
Регистрация: 17.10.2013
Сообщений: 12
12.11.2013, 22:29  [ТС]     Найти максимальный и минимальный элемент в каждой строке матрицы и поменять их местами #7
Цитата Сообщение от AlinkoMalinko Посмотреть сообщение
можно пару вопросов по коду? Вы слышали что-то о динамическом выделении памяти?
Далее: для решения принципиально важно знать, вы не заполняете матрицу отрицательными числами? Тогда это не мешало бы запретить.... С поиском минимального элемента готова помочь, после ответов на мои вопросы
про динамическое выделение памяти не слышала, на счет отрицательных чисел ничего конкретно не могу сказать, можно и запретить , мне хоть с положительными решить, то есть найти ошибку, по логике все правильно но не работает
AlinkoMalinko
3 / 3 / 1
Регистрация: 12.11.2013
Сообщений: 42
12.11.2013, 22:31     Найти максимальный и минимальный элемент в каждой строке матрицы и поменять их местами #8
на мой взгляд, поиск максимального и минимального элемента должен выглядеть как-то так (не компилировала):
C
1
2
3
4
5
6
7
8
9
10
11
12
float min, max;
for(i=0;i<n;i++)
{
min=b[i][0];
max=b[i][0];
    for (j=1;j<m;j++)
    {
        if(min<b[i][j])
            min=b[i][j];
        if(max>b[i][j])
            max=b[i][j];
}
yana11111
0 / 0 / 0
Регистрация: 17.10.2013
Сообщений: 12
12.11.2013, 22:36  [ТС]     Найти максимальный и минимальный элемент в каждой строке матрицы и поменять их местами #9
спасибо , вроде то же самое писала , только по-другому , но не работало, спасибо огромное, буду дальше решать))
AlinkoMalinko
3 / 3 / 1
Регистрация: 12.11.2013
Сообщений: 42
12.11.2013, 22:50     Найти максимальный и минимальный элемент в каждой строке матрицы и поменять их местами #10
Цитата Сообщение от yana11111 Посмотреть сообщение
спасибо , вроде то же самое писала , только по-другому , но не работало, спасибо огромное, буду дальше решать))
Если что -я ещё часик тут вишу, в темку загляну
yana11111
0 / 0 / 0
Регистрация: 17.10.2013
Сообщений: 12
12.11.2013, 23:12  [ТС]     Найти максимальный и минимальный элемент в каждой строке матрицы и поменять их местами #11
Цитата Сообщение от AlinkoMalinko Посмотреть сообщение
Если что -я ещё часик тут вишу, в темку загляну
только сейчас заметила , что почему-то перебираются для сравнения только два первых элемента строки (((
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.11.2013, 23:43     Найти максимальный и минимальный элемент в каждой строке матрицы и поменять их местами
Еще ссылки по теме:

Поменять местами в каждой строке матрицы минимальный и максимальный элементы, подскажите ошибки C++
C++ Найти в каждой строке матрицы наибольший элемент и поменять его местами с элементом главной диагонали
C++ В каждой строке матрицы поменять местами максимальный и первый, минимальный и последний элементы
C++ В заданной матрице поменять местами максимальный и минимальный элемент каждой строки
Найти в каждой строке матрицы максимальный и минимальный элементы и поменять их местами с первым и последним C++

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

Или воспользуйтесь поиском по форуму:
NikitaQ
5 / 5 / 1
Регистрация: 10.09.2013
Сообщений: 51
12.11.2013, 23:43     Найти максимальный и минимальный элемент в каждой строке матрицы и поменять их местами #12
Сообщение было отмечено автором темы, экспертом или модератором как ответ
yana11111,
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
#include <stdio.h>
 
int main()
{
    int i,j,n,m;
    int nMax,nMin;
    float sum;
    float min, max;
    float b[100][100];
    
    printf("rows and calls");
    scanf("%d %d",&n,&m);
    
    printf("mass:\n");
    for (i=0;i<n;i++)
        for (j=0;j<m;j++)
            scanf("%f",&b[i][j]);
    
    for(i=0;i<n;i++)
    {
        min=b[i][0];
        max=b[i][0];
        for (j=0;j<m;j++)
        {
            if(min>b[i][j]) {
                min=b[i][j];
                nMin=j;
            }
            if(max<b[i][j]) {
                max=b[i][j];
                nMax=j;
            }
        }
        
        float temp;
        temp = b[i][nMin];
        b[i][nMin]=b[i][nMax];
        b[i][nMax]=temp;
        nMin=0;
        nMax=0;
    }
    
    for (i=0;i<n;i++){
        for (j=0;j<m;j++)
            printf("%.0f ",b[i][j]);
        printf("\n");
    }
    
    for (i=0;i<n;i++)
        for (j=0;j<m;j++)
            if (i==j) sum =sum+ b[i][j];
    printf("summa= %0.f",sum);
    
    return 0;
}
Yandex
Объявления
12.11.2013, 23:43     Найти максимальный и минимальный элемент в каждой строке матрицы и поменять их местами
Ответ Создать тему
Опции темы

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