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

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

Восстановить пароль Регистрация
 
injekt2
0 / 0 / 0
Регистрация: 13.10.2012
Сообщений: 15
24.02.2013, 22:50     Дана квадратная матрица. Найти минимальный из элементов на главной диагонали. Поменять местами с максимальным для столбца n, где n вводится с клави #1
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
#include <iostream>
#include <iomanip>
 
using namespace std;
 
int main()
{
    setlocale(LC_ALL,"Russian");
    int **mas,n,min,max,i,j,a;
    cout<<"Введите размеры массива\n";
    cin>>n;
    mas = new int *[n];
    for(int i=0; i<n; i++)
    {
        mas[i]=new int [n];
        for(int j=0; j<n; j++)
        {
            cin>>mas[i][j];
 
        }
    }
    cout<<"Исходный массив\n";
    for(int i=0; i<n; i++)
    {
        for(int j=0; j<n; j++)
        cout<<setw(5)<<mas[i][j];
        cout<<endl;
    }
    {min=mas[0][0]; // минимальным считаем первый элемент главной диагонали
    for(i=0;i<n;i++) //цикл по строкам массива
    for(j=0;j<n;j++){ //по столбцам
    if(i==j)
    if(mas[i][j]<min)
    min=mas[i][j];
}
cout<<"Minimalnii element "<<min<<endl;}
 
{cout<<"Viberete stolbes";
cin>>a;
     {
                 for (i=0 ;i<n ;i++)
                             {
                           if(mas[i][a]>max)
                            {
                                max=mas[i][a];
                              }}
cout<<"Maksimalnii element "<<max;}
 
    return 0;
}}
Подскажите как поменять местами элементы??
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.02.2013, 22:50     Дана квадратная матрица. Найти минимальный из элементов на главной диагонали. Поменять местами с максимальным для столбца n, где n вводится с клави
Посмотрите здесь:

C++ Найти произведение элементов побочной диагонали квадратной матрицы
C++ Дана квадратная матрица N,если на главной диагонали в строке элемент равен 0...
C++ Поменять местами строку с максимальным элементом на главной диагонали со строкой с заданным номером t.
Дана действительная квадратная матрица порядка 8. В строках с отрицательным элементом на главной диагонали найти сумму всех элементов C++
Дана квадратная матрица. Найти сумму элементов ее главной, побочной диагонали. C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
olya7
476 / 293 / 91
Регистрация: 18.02.2013
Сообщений: 684
24.02.2013, 22:55     Дана квадратная матрица. Найти минимальный из элементов на главной диагонали. Поменять местами с максимальным для столбца n, где n вводится с клави #2
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
for(int i=0; i<n; i++)
{
int **mas,n,min,max,i,j,a,max_i=0,max_j=0,min_i=0,min_j=0;
 
 
 
 
 
 
for(int j=0; j<n; j++)
cout<<setw(5)<<mas[i][j];
cout<<endl;
}
{min=mas[0][0]; // ìèГ*ГЁГ¬Г*ëüГ*ûì Г±Г·ГЁГІГ*ГҐГ¬ ïåðâûé ýëåìåГ*ГІ ГЈГ«Г*ГўГ*îé äèГ*ГЈГ®Г*Г*ëè
for(i=0;i<n;i++) //öèêë ГЇГ® ñòðîêГ*Г¬ Г¬Г*Г±Г±ГЁГўГ*
for(j=0;j<n;j++){ //ГЇГ® ñòîëáöГ*Г¬
if(i==j)
if(mas[i][j]<min)
{min=mas[i][j];min_i=i;,min_j=j;
}
cout<<"Minimalnii element "<<min<<endl;}
 
{cout<<"Viberete stolbes";
cin>>a;
{
for (i=0 ;i<n ;i++)
{
if(mas[i][a]>max)
{
max=mas[i][a];max_i=i;,maxn_j=j;
}}
cout<<"Maksimalnii element "<<max;}
mas[max_i][max_j]=min;
mas[min_i][min_j]=max;
injekt2
0 / 0 / 0
Регистрация: 13.10.2012
Сообщений: 15
25.02.2013, 00:04  [ТС]     Дана квадратная матрица. Найти минимальный из элементов на главной диагонали. Поменять местами с максимальным для столбца n, где n вводится с клави #3
Не хочет менять местами=(
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
57
58
59
60
61
62
63
64
65
#include <iostream>
#include <iomanip>
 
using namespace std;
 
int main()
{
    setlocale(LC_ALL,"Russian");
    int **mas,n,min,max,i,j,a,max_i=0,max_j=0,min_i=0,min_j=0;;
    cout<<"Введите размеры массива\n";
    cin>>n;
    mas = new int *[n];
    for(int i=0; i<n; i++)
    {
        mas[i]=new int [n];
        for(int j=0; j<n; j++)
        {
            cin>>mas[i][j];
 
        }
    }
    cout<<"Исходный массив\n";
    for(int i=0; i<n; i++)
    {
        for(int j=0; j<n; j++)
        cout<<setw(5)<<mas[i][j];
        cout<<endl;
    }
    {min=mas[0][0]; // минимальным считаем первый элемент главной диагонали
    for(i=0;i<n;i++) //цикл по строкам массива
    for(j=0;j<n;j++){ //по столбцам
    if(i==j)
    if(mas[i][j]<min)
    min=mas[i][j];
    min_i=i;min_j=j;
}
cout<<"Minimalnii element "<<min<<endl;}
 
{cout<<"Viberete stolbes";
cin>>a;
     {
                 for (i=0 ;i<n ;i++)
 
                                 {max=0;
                           if(mas[i][a]>max)
 
                                max=mas[i][a];
                                max_i=i;max_j=j;}
 
 
cout<<"Максимальный елемент "<<max<<"\n\n";}
 
    mas[max_i][max_j]=min;
    mas[min_i][min_j]=max;
cout<<"Измененный массив\n";
    for(int i=0; i<n; i++)
    {
        for(int j=0; j<n; j++)
        cout<<setw(5)<<mas[i][j];
        cout<<endl;
    }
 
 
    return 0;
}}
olya7
476 / 293 / 91
Регистрация: 18.02.2013
Сообщений: 684
25.02.2013, 00:14     Дана квадратная матрица. Найти минимальный из элементов на главной диагонали. Поменять местами с максимальным для столбца n, где n вводится с клави #4
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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
#include <iostream>
#include <iomanip>
 
using namespace std;
 
int main()
{
setlocale(LC_ALL,"Russian");
int **mas,n,min,max,i,j,a,max_i=0,max_j=0,min_i=0,min_j=0;;
cout<<"Ââåäèòå Г°Г*çìåðû Г¬Г*Г±Г±ГЁГўГ*\n";
cin>>n;
mas = new int *[n];
for( i=0; i<n; i++)
{
mas[i]=new int [n];
for( j=0; j<n; j++)
{
cin>>mas[i][j];
 
}
}
 
 
cout<<"ÈñõîäГ*ûé Г¬Г*Г±Г±ГЁГў\n";
for( i=0; i<n; i++)
{
for( j=0; j<n; j++)
cout<<setw(5)<<mas[i][j];
cout<<endl;
}
 
min=max=mas[0][0]; // ìèГ*ГЁГ¬Г*ëüГ*ûì Г±Г·ГЁГІГ*ГҐГ¬ ïåðâûé ýëåìåГ*ГІ ГЈГ«Г*ГўГ*îé äèГ*ГЈГ®Г*Г*ëè
for(i=0;i<n;i++) //öèêë ГЇГ® ñòðîêГ*Г¬ Г¬Г*Г±Г±ГЁГўГ*
for(j=0;j<n;j++) //ГЇГ® ñòîëáöГ*Г¬
if(i==j && mas[i][j]<min)
{
min=mas[i][j];
min_i=i;min_j=j;
}
 
 
cout<<"Minimalnii element "<<min<<endl;
 
cout<<"Viberete stolbes";
cin>>a;
 
for (i=0 ;i<n ;i++)
 
if(mas[i][a-1]>max)
{
max=mas[i][a-1];
max_i=i;max_j=a-1;
}
 
 
cout<<"ГЊГ*ГЄГ±ГЁГ¬Г*ëüГ*ûé åëåìåГ*ГІ "<<max<<"\n\n";
 
 
mas[max_i][max_j]=min;
mas[min_i][min_j]=max;
cout<<"ÈçìåГ*ГҐГ*Г*ûé Г¬Г*Г±Г±ГЁГў\n";
for( i=0; i<n; i++)
{
for( j=0; j<n; j++)
cout<<setw(5)<<mas[i][j];
cout<<endl;
}
 
 
return 0;
}
injekt2
0 / 0 / 0
Регистрация: 13.10.2012
Сообщений: 15
25.02.2013, 00:42  [ТС]     Дана квадратная матрица. Найти минимальный из элементов на главной диагонали. Поменять местами с максимальным для столбца n, где n вводится с клави #5
Огромное спасибо=))
Yandex
Объявления
25.02.2013, 00:42     Дана квадратная матрица. Найти минимальный из элементов на главной диагонали. Поменять местами с максимальным для столбца n, где n вводится с клави
Ответ Создать тему
Опции темы

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