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

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

Войти
Регистрация
Восстановить пароль
 
yana11111
0 / 0 / 0
Регистрация: 17.10.2013
Сообщений: 12
#1

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

12.11.2013, 22:08. Просмотров 809. Ответов 11
Метки нет (Все метки)

Дана матрица вещественных чисел 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);}
 
}
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.11.2013, 22:08
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Найти максимальный и минимальный элемент в каждой строке матрицы и поменять их местами (C++):

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

Найти в каждой строке матрицы максимальный и минимальный элементы и поменять их местами с первым и последним элементом - C++
Я решила задачку но что-то не так(ошибки никак не исправлю... помогите исправте ошибки,что не правильно я сделала /*Дана матрица B....

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

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

В произвольной матрице A [ N ][ M ] поменять местами в каждой строке минимальный и максимальный элементы - C++
Здраствуйте,помогите пожалуйста с кодом для данной задачи: В произвольной матрице A поменять местами в каждой строке минимальный и...

В произвольной матрице поменять местами в каждой строке минимальный и максимальный элементы - C++
Доброго времени суток господа! Помогите закончить программу, условие таково: В произвольной матрице поменять местами в каждой строке...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
NikitaQ
5 / 5 / 1
Регистрация: 10.09.2013
Сообщений: 51
12.11.2013, 22:10 #2
Нормально код запишите, пожалуйста! Есть специальные теги для c++
0
yana11111
0 / 0 / 0
Регистрация: 17.10.2013
Сообщений: 12
12.11.2013, 22:11  [ТС] #3
)))
0
Anton_Kretov
89 / 51 / 7
Регистрация: 26.06.2013
Сообщений: 179
12.11.2013, 22:14 #4
yana11111, быть может не по теме, а зачем с QT то? (я про теги кода).
По теме, могу скинуть свой вариант решения.
0
yana11111
0 / 0 / 0
Регистрация: 17.10.2013
Сообщений: 12
12.11.2013, 22:16  [ТС] #5
Цитата Сообщение от Anton_Kretov Посмотреть сообщение
yana11111, быть может не по теме, а зачем с QT то? (я про теги кода).
По теме, могу скинуть свой вариант решения.
как понять QT?
0
AlinkoMalinko
3 / 3 / 1
Регистрация: 12.11.2013
Сообщений: 42
12.11.2013, 22:23 #6
можно пару вопросов по коду? Вы слышали что-то о динамическом выделении памяти?
Далее: для решения принципиально важно знать, вы не заполняете матрицу отрицательными числами? Тогда это не мешало бы запретить.... С поиском минимального элемента готова помочь, после ответов на мои вопросы
0
yana11111
0 / 0 / 0
Регистрация: 17.10.2013
Сообщений: 12
12.11.2013, 22:29  [ТС] #7
Цитата Сообщение от AlinkoMalinko Посмотреть сообщение
можно пару вопросов по коду? Вы слышали что-то о динамическом выделении памяти?
Далее: для решения принципиально важно знать, вы не заполняете матрицу отрицательными числами? Тогда это не мешало бы запретить.... С поиском минимального элемента готова помочь, после ответов на мои вопросы
про динамическое выделение памяти не слышала, на счет отрицательных чисел ничего конкретно не могу сказать, можно и запретить , мне хоть с положительными решить, то есть найти ошибку, по логике все правильно но не работает
0
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];
}
0
yana11111
0 / 0 / 0
Регистрация: 17.10.2013
Сообщений: 12
12.11.2013, 22:36  [ТС] #9
спасибо , вроде то же самое писала , только по-другому , но не работало, спасибо огромное, буду дальше решать))
0
AlinkoMalinko
3 / 3 / 1
Регистрация: 12.11.2013
Сообщений: 42
12.11.2013, 22:50 #10
Цитата Сообщение от yana11111 Посмотреть сообщение
спасибо , вроде то же самое писала , только по-другому , но не работало, спасибо огромное, буду дальше решать))
Если что -я ещё часик тут вишу, в темку загляну
0
yana11111
0 / 0 / 0
Регистрация: 17.10.2013
Сообщений: 12
12.11.2013, 23:12  [ТС] #11
Цитата Сообщение от AlinkoMalinko Посмотреть сообщение
Если что -я ещё часик тут вишу, в темку загляну
только сейчас заметила , что почему-то перебираются для сравнения только два первых элемента строки (((
0
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;
}
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.11.2013, 23:43
Привет! Вот еще темы с ответами:

В заданной матрице поменять местами максимальный и минимальный элемент каждой строки - C++
Добрый. Дана матрица А. Поменять местами максимальный и минимальный элемент каждой строки. Нужно сделать не динамическим видом. Ввод...

Поменять местами максимальный и минимальный элемент матрицы - C++
Здравствуйте. Задача вроде бы простая, но у меня возникло затруднение. Искал подобные, но свою ошибку увидеть не могу в упор. Суть...

В каждой строке матрицы A (n, n) найти наибольший элемент и поменять его местами с соответствующим диагональным элементом. - C++
В каждой строке матрицы A (n, n) найти наибольший элемент и поменять его местами с соответствующим диагональным элементом. Нужна прога

Найти в каждой строке матрицы наибольший элемент и поменять его местами с элементом главной диагонали - C++
Дана целочисленная квадратная матрица. Найти в каждой строке наибольший элемент и поменять его местами с элементом главной диагонали. ...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
12.11.2013, 23:43
Ответ Создать тему
Опции темы

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