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

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

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.60
kosta_Lom
0 / 0 / 0
Регистрация: 30.03.2010
Сообщений: 21
24.05.2010, 22:09     Найти наибольший элемент матрицы среди стоящих на главной и побочной диагоналях #1
Дана действительная квадратная матрица n (n-нечетное),все элементы которой различны....найти наибольший элемент среди стоящих на главной и побочной диагоналях и поменять его местами с элементом стоящим на пересечении этих диагоналей....

Оригинал
ДАНА ДЕЙСТВИТЕЛЬНАЯ КВАДРАТНАЯ МАТРИЦА N (N-НЕЧЕТНОЕ),ВСЕ ЭЛЕМЕНТЫ КОТОРОЙ РАЗЛИЧНЫ....НАЙТИ НАИБОЛЬШИЙ ЭЛЕМЕНТ СРЕДИ СТОЯЩИХ НА ГЛАВНОЙ И ПОБОЧНОЙ ДИАГОНАЛЯХ И ПОМЕНЯТЬ ЕГО МЕСТАМИ С ЭЛЕМЕНТОМ СТОЯЩИМ НА ПЕРЕСЕЧЕНИИ ЭТИХ ДИАГОНАЛЕЙ....
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.05.2010, 22:09     Найти наибольший элемент матрицы среди стоящих на главной и побочной диагоналях
Посмотрите здесь:

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

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
_Eldar_
 Аватар для _Eldar_
44 / 29 / 3
Регистрация: 31.10.2009
Сообщений: 200
27.05.2010, 02:10     Найти наибольший элемент матрицы среди стоящих на главной и побочной диагоналях #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
kosta_Lom,
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
72
73
74
75
76
77
78
79
80
81
#include <iostream>
#include <iomanip>
#include <windows.h>
#include <time.h>
#include <conio.h>
 
using namespace std;
 
int main(){
 
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
 
    int len, i, j, n_max, m_max;
    do{
        cout << "Введите нечетное число, больше 1: ";
        cin  >> len;
    }while(!(len%2) || len < 2);
 
    //выделяем память под массив
    double **arr = new double *[len];
    for(int i = 0; i < len; ++i){
        arr[i] = new double [len];
    }
 
    srand((unsigned)time(NULL));
 
    // заполняем массив
    for( i = 0; i < len; ++i){
        for( j = 0; j < len; ++j){
            arr[i][j] = rand()%10 + rand()%10 / 50.00;
        }
    }
    cout << "Вывод исходного массива: " << endl;
    for( i = 0; i < len; ++i){
        cout << endl << endl;
        for( j = 0; j < len; ++j){
            cout << setw(6) << arr[i][j];
        }
    }
 
    double max = arr[0][0]; 
 
    cout << endl << endl;
    //ищем максимальный элемент на главной диагонали
    for( i = 0, j = 0; i < len; ++i, ++j){
        if(max < arr[i][j]) {
            n_max = i;
            m_max = j;
        }
    }
    cout << endl << endl;
    //ищем максимальный элемент на побочной диагонали
    for( i = len - 1, j = 0; i >= 0; --i, ++j){
        if(max < arr[i][j]) {
            n_max = i;
            m_max = j;
        }
    }
 
    cout << "Максимальный элемент = " << arr[n_max][m_max] << endl; 
 
    //Меняем местами максимальный элемент с элементом нах-ся на пересечении диагоналей
    
    double temp;
 
    temp = arr[len%2][len%2];
    arr[len%2][len%2] = arr[n_max][m_max];
    arr[n_max][m_max] = temp;
 
    cout << "Вывод полученного массива: " << endl;
    for( i = 0; i < len; ++i){
        cout << endl << endl;
        for( j = 0; j < len; ++j){
            cout << setw(6) << arr[i][j];
        }
    }
 
    _getch();
    return 0;
}
Yandex
Объявления
27.05.2010, 02:10     Найти наибольший элемент матрицы среди стоящих на главной и побочной диагоналях
Ответ Создать тему
Опции темы

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