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

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

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

Преобразование матрицы - C++

08.11.2013, 01:44. Просмотров 331. Ответов 4
Метки нет (Все метки)

Дана матрица размера M × N. Преобразовать матрицу, поменяв местами минимальный и максимальный элемент в каждой строке.
Не могу поменять местами max и min элементы с строке матрицы
#include <iostream.h>
#include <math.h>
int main ()
{ int n,m,a[100][100],i,j,max,min,temp;
cin>>n;
cin>>m;
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
cin>>a[i][j];
for(i=1;i<=n;i++)
{ max=a[i][1]; min=a[i][1];
for(j=1;j<=m;j++)
{if(a[i][j]>max)
max=a[i][j];
if(a[i][j]<min)
min=a[i][j];
}
cout<<"max="<<max<<" "<<"min="<<min<<endl;

temp=max;
max=min;
min=temp;
}
for(i=1;i<=n;i++)
{for(j=1;j<=m;j++)
{cout<<a[i][j]<<" ";}
cout<<endl;}
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.11.2013, 01:44
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Преобразование матрицы (C++):

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

преобразование матрицы - C++
провести преобразование матрицы А таким образом:положительные элементы заменить на число 2 ,отрицательные -на 1,нулевые -на 3:

преобразование матрицы - C++
помогите решить.преобразовать заданную матрицу x(p,k) таким образом чтобы первый элемент каждого столбца был заменен произведением...

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

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

Преобразование матрицы - C++
Задание такое: Нужно поменять местами строку матрицы с минимальным элементом со строкой, которую задаю вручную. Вот код: к &quot;y&quot;-ку...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Мимино
180 / 151 / 5
Регистрация: 22.05.2013
Сообщений: 435
Записей в блоге: 1
08.11.2013, 01:49 #2
Цитата Сообщение от Noka94 Посмотреть сообщение
Не могу поменять местами max и min элементы с строке матрицы
Код сами писали?
0
RQdan
65 / 65 / 17
Регистрация: 26.10.2013
Сообщений: 198
08.11.2013, 01:51 #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
int buf,max,min;
for(int i=0;i<n;i++)
{
 max=0;
 min=0;
 for(int j=1;j<m;j++)
 {
  if(a[i][max]<a[i][j]) max=j;
  if(a[i][min]>a[i][j]) min=j;
 }
 buf=a[i][max];
 a[i][max]=a[i][min];
 a[i][min]=buf;
}
0
Noka94
0 / 0 / 0
Регистрация: 15.10.2013
Сообщений: 25
08.11.2013, 02:04  [ТС] #4
Цитата Сообщение от Мимино Посмотреть сообщение
Код сами писали?
да, сама
0
Мимино
180 / 151 / 5
Регистрация: 22.05.2013
Сообщений: 435
Записей в блоге: 1
08.11.2013, 02:13 #5
Цитата Сообщение от Noka94 Посмотреть сообщение
да, сама
Никому его не показывайте

Вот
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
56
#include <iostream>
#include <stdlib.h>
#include <time.h>
#include <iomanip>
using namespace std;
 
 
int main()
{
    setlocale(LC_ALL, "Russian");
    const int M = 10;
    const int N = 15;
    int matrix[M][N];
 
    cout << "Матрица:" << endl;
    for (int i = 0; i < M; i++)
    {
        for (int j = 0; j < N; j++)
        {
            matrix[i][j] = 1 + rand() % 99;
            cout << setw(3) << matrix[i][j];
        }
 
        cout << endl;
    }
 
    int min = 0, max = 0;
 
    for (int i = 0; i < M; i++)
    {
        for (int j = 0; j < N; j++)
        {
            if (matrix[i][j] < matrix[i][min])
                min = j;
            if (matrix[i][j] > matrix[i][max])
                max = j;
            if (j == N - 1)
            {
                matrix[i][min] ^= matrix[i][max];
                matrix[i][max] ^= matrix[i][min];
                matrix[i][min] ^= matrix[i][max];
            }
        }
    }
 
    cout << endl << "Преобразованная матрица:" << endl;
    for (int i = 0; i < M; i++)
    {
        for (int j = 0; j < N; j++)
            cout << setw(3) << matrix[i][j];
        cout << endl;
    }
 
    system("pause");
    return 0;
}
Добавлено через 4 минуты
Только единственный момент. Смена переменных местами вот тут 100% вызовет вопросы
C++
1
2
3
matrix[i][min] ^= matrix[i][max];
                matrix[i][max] ^= matrix[i][min];
                matrix[i][min] ^= matrix[i][max];
Так можно поменять переменные местами без использования временной переменной для хранения. Чтобы преподаватель не цеплялся, можно почитать тут Алгоритм обмена при помощи исключающего ИЛИ
Если сможете ему это объяснить, 5-ка гарантирована (или какие там сейчас оценки максимальные ставят?).
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.11.2013, 02:13
Привет! Вот еще темы с ответами:

Преобразование матрицы - C++
Всем доброго приятного вечера!! Не могу написать программу на такую вот(см.на рис.) задачу, если мне не решить до завтра мне капец светит...

Преобразование двумерной матрицы - C++
В двумерном массивеb найдите 4 последовательных элемента сумма которых максимальна.Обход начать с элемента по часовой стрелке. Когда...

Преобразование квадратной матрицы - C++
Доброго всем времени суток Можно ли как - то с помощью элементарных преобразований квадратной матрицы, обнулить главную диагональ? ...

характеристика и преобразование матрицы - C++
не могу понять как проверить матрицу: находится ли её наименьший элемент в заштрихованной зоне (слева от пересечения диагоналей)? и...


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

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

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