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

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

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 15, средняя оценка - 4.60
dot4er
0 / 0 / 0
Регистрация: 06.05.2012
Сообщений: 11
06.05.2012, 13:52     Дана действительная квадратная матрица порядка n, все элементы которой различны. Найти наибольший элемент среди стоящих на главной и побочной диаг #1
Дана действительная квадратная матрица порядка n, все элементы которой различны. Найти наибольший элемент среди стоящих на главной и побочной диагоналях и поменять его местами с элементом, стоящим на пересечении этих диагоналей
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.05.2012, 13:52     Дана действительная квадратная матрица порядка n, все элементы которой различны. Найти наибольший элемент среди стоящих на главной и побочной диаг
Посмотрите здесь:

найти наибольший элемент среди стоящих на главной и побочной диагоналях C++
Дана квадратная матрица, все элементы которой различны C++
Дана действительная квадратная матрица порядка 12. Заменить нулями все её элементы, расположенные на глав-ной диагонали и выше неё. C++
C++ Дана действительная матрица размером пхт, все элементы которой различны. В каждой строке выбирается элемент с наименьшим значением, затем среди этих ч
Дана действительная квадратная матрица порядка 8. В строках с отрицательным элементом на главной диагонали найти сумму всех элементов C++
Найти наибольший элемент среди стоящих на главной и побочной диагоналях матрицы C++
C++ Дана действительная квадратная матрица D(6,6). Заменить нулями все элементы, расположенные на главной диагонал

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Mиxaил
 Аватар для Mиxaил
530 / 435 / 37
Регистрация: 10.12.2009
Сообщений: 1,857
06.05.2012, 14:25     Дана действительная квадратная матрица порядка 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
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;
}
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
06.05.2012, 14:32     Дана действительная квадратная матрица порядка n, все элементы которой различны. Найти наибольший элемент среди стоящих на главной и побочной диаг #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;
}
Yandex
Объявления
06.05.2012, 14:32     Дана действительная квадратная матрица порядка n, все элементы которой различны. Найти наибольший элемент среди стоящих на главной и побочной диаг
Ответ Создать тему
Опции темы

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