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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 15, средняя оценка - 4.60
dot4er
0 / 0 / 0
Регистрация: 06.05.2012
Сообщений: 11
#1

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

06.05.2012, 13:52. Просмотров 2229. Ответов 2
Метки нет (Все метки)

Дана действительная квадратная матрица порядка n, все элементы которой различны. Найти наибольший элемент среди стоящих на главной и побочной диагоналях и поменять его местами с элементом, стоящим на пересечении этих диагоналей
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.05.2012, 13:52
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Дана действительная квадратная матрица порядка n, все элементы которой различны. Найти наибольший элемент среди стоящих на главной и побочной диаг (C++):

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

Дана квадратная матрица, все элементы которой различны - C++
1. Дана квадратная матрица, все элементы которой различны. Поменять местами строки, в которых находятся максимальный и минимальный...

Дана действительная квадратная матрица D(6,6). Заменить нулями все элементы, расположенные на главной диагонал - C++
С++ Дана действительная квадратная матрица D(6,6). Заменить нулями все элементы, расположенные на главной диагонали и выше нее.

Найти наибольший элемент среди стоящих на главной и побочной диагоналях матрицы - C++
Дана действительная квадратная матрица порядка N (N – нечетное), все элементы которой различны. Найти наибольший элемент среди стоящих на...

Найти наибольший элемент матрицы среди стоящих на главной и побочной диагоналях - C++
Дана действительная квадратная матрица n (n-нечетное),все элементы которой различны....найти наибольший элемент среди стоящих на главной и...

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

2
Mиxaил
533 / 438 / 37
Регистрация: 10.12.2009
Сообщений: 1,857
06.05.2012, 14:25 #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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#include <iostream>
#include <iomanip>
 
const int N = 5;
 
void get_random( int **a )
{
    for( int i = 0; i < N; i++ )
        for( int j = 0; j < N; j++ )
            a[ i ][ j ] = i * ( N + 1 ) + j + 1;
}
 
void print_matrix( int **a )
{
    for( int i = 0; i < N; i++ )
    {
        for( int j = 0; j < N; j++ )
            std::cout << std::setw( 4 ) << a[ i ][ j ] << " ";
        std::cout << std::endl;
    }
    std::cout << std::endl;
}
 
void exchange( int **a )
{
    int max = INT_MIN, imax, jmax;
    for( int i = 0; i < N; i++ )
    {
        if ( a[ i ][ i ] > max )
        {
            max = a[ i ][ i ];
            imax = i;
            jmax = i;
        }
        if ( a[ i ][ N - i - 1 ] > max )
        {
            max = a[ i ][ N - i - 1 ];
            imax = i;
            jmax = N - i - 1;
        }
    }
    std::swap( a[ N / 2 ][ N / 2 ], a[ imax ][ jmax ] );
}
 
int main()
{
    int **matr = new int *[ N ];
    for( int index = 0; index < N; index++ )
        matr[ index ] = new int[ N];
 
    get_random( matr );
    print_matrix( matr );
 
    exchange( matr );
    print_matrix( matr );
 
    return 0;
}
1
valeriikozlov
Эксперт С++
4672 / 2498 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
06.05.2012, 14:32 #3
уже успел поменять код...
как вариант:
если действительная матрица a[][] размером n уже есть, то можно так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
int i1=0, i2=0, i;
double tmp;
for(i=1; i<n; i++)
{
    if(a[i][i]>a[i1][i1])
        i1=i;
    if(a[i][n-1-i]>a[i2][n-1-i2])
        i2=i;
}
if(a[i1][i1]>a[i2][n-1-i2])
{
    tmp=a[n/2][n/2]; a[n/2][n/2]=a[i1][i1]; a[i1][i1]=tmp;
}
else
{
    tmp=a[n/2][n/2]; a[n/2][n/2]=a[i2][n-1-i2]; a[i2][n-1-i2]=tmp;
}
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.05.2012, 14:32
Привет! Вот еще темы с ответами:

Дана действительная квадратная матрица порядка 12. Заменить нулями все её элементы, расположенные на глав-ной диагонали и выше неё. - C++
Дана действительная квадратная матрица порядка 12. Заменить нулями все её элементы, расположенные на глав-ной диагонали и выше неё.

Дана действительная квадратная матрица B порядка n.В каждой строке матрицы найти минимальный элемент и поместить его в вектор D. - C++
Прошу помочь решить задачки!:(очень нужно (Билет №6) Дана действительная квадратная матрица B порядка n.В каждой строке матрицы найти...

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

Дана целочисленная квадратная матрица порядка n. Найти номера строк все элементы которых 0. - C++
Дана целочисленная квадратная матрица порядка n. Найти номера строк все элементы которых - нули. с++ заранее спасибо.


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

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