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

Определить числа равные соответственно разностям наибольших и наименьших значений элементов столбцов матрицы - C++

Восстановить пароль Регистрация
 
Tokiwartoot
2 / 2 / 0
Регистрация: 18.11.2015
Сообщений: 41
29.03.2016, 07:22     Определить числа равные соответственно разностям наибольших и наименьших значений элементов столбцов матрицы #1
Помогите,пожалуйста
Дана вещественная матрица размером m*n. Определить числа а1, … , аn, равные соответственно разностям наибольших и наименьших значений элементов столбцов.

Входные данные

Дана матрица. Первые два элемента последовательности - это размерность матрицы (размерность строки и столбца матрицы).

Выходные данные

Вывести а1, … , аn.
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 <iostream>
 
using namespace std;
 
int main()
{
   int n,m,min;
 
 
   int g[m];
 
   cin>>n>>m; //ввод размерности матрицы
   int a[n][m];
   for (int i=0;i<n;i++)
    for (int j=0;j<m;j++)
     cin>>a[i][j]; //ввод элементов матрицы
    for (int j = 0; j < n; j++)
    {
        min = 0;
        for (int i = 0; i < m; i++)
        {
            if (a[min][j] > a[i][j])
            {
                min = i;
            }
        }
        //нашли минимум
        g[j] = a[min][j]; //запомнили минимум в одномерный массив
 
    }
    for (int i=0;i<m;i++)
cout<<g[i]; //вывод элементов одномерного массива
}
Мой код вообще не работает,не могу понять почему

Добавлено через 14 минут
UPD
Нашел в инете код такой задачи,только она работает по строкам,а мне надо по строкам,не могу переделать
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
#include <iostream>
using namespace std;
int main(){
    int m, n;
    cin>>n>>m;
    int A[m][n], min, max, B[m];
    for (int i=0; i<m; i++)
        for (int j=0; j<n; j++)
            cin>>A[i][j];
    cout<<endl;
    for (int i=0; i<m; i++){
        min=A[i][0];
        max=A[i][0];
        for (int j=1; j<n; j++)
        {
            if (A[i][j]<min)
                min=A[i][j];
            if (A[i][j]>max)
                max=A[i][j];
        }
        B[i]=(max-min);
        cout<<B[i]<<' ';
    }
}
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.03.2016, 07:22     Определить числа равные соответственно разностям наибольших и наименьших значений элементов столбцов матрицы
Посмотрите здесь:

Задана прямоугольная матрица А. Построить вектор В, элементы которого равны разностям наибольших и наименьших значений элементов строк C++
Упорядочить столбцы матрицы по убыванию значений наибольших элементов столбцов C++
Сумма наибольших значений столбцов матрицы C++
C++ Определить индексы и значения наибольших и наименьших по модулю элементов одномерного массива
C++ дана действительная матрица размера m*n делить числа b1,.,bm равные соответственно произведение элементов ст
C++ Найти разности наибольших и наименьших значений элементов строк в матрице
C++ Определить количество столбцов матрицы не содержащих элементы равные единице
Определить числа равные разностям наибольших и наименьших значений элементов строк двумерной матрицы C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
CheshireesCat
 Аватар для CheshireesCat
81 / 77 / 25
Регистрация: 02.05.2015
Сообщений: 668
29.03.2016, 09:31     Определить числа равные соответственно разностям наибольших и наименьших значений элементов столбцов матрицы #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от Tokiwartoot Посмотреть сообщение
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
#include <iostream>
using namespace std;
int main(){
    int m, n;
    cin>>n>>m;
    int A[m][n], min, max, B[m];
    for (int i=0; i<m; i++)
        for (int j=0; j<n; j++)
            cin>>A[i][j];
    cout<<endl;
    for (int i=0; i<m; i++){
        min=A[i][0];
        max=A[i][0];
        for (int j=1; j<n; j++)
        {
            if (A[i][j]<min)
                min=A[i][j];
            if (A[i][j]>max)
                max=A[i][j];
        }
        B[i]=(max-min);
        cout<<B[i]<<' ';
    }
}
попробуй махнуть местами строки 11 и 14
Tokiwartoot
2 / 2 / 0
Регистрация: 18.11.2015
Сообщений: 41
29.03.2016, 16:58  [ТС]     Определить числа равные соответственно разностям наибольших и наименьших значений элементов столбцов матрицы #3
CheshireesCat, Спасибо большое,свапнул строки и помогло,заработало
Yandex
Объявления
29.03.2016, 16:58     Определить числа равные соответственно разностям наибольших и наименьших значений элементов столбцов матрицы
Ответ Создать тему
Опции темы

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