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

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

Восстановить пароль Регистрация
 
monster469
0 / 0 / 0
Регистрация: 17.05.2014
Сообщений: 17
17.05.2014, 21:07     Найти наибольший элемент на главной и побочной диагоналях #1
сам не шарю вообще предмет не профильный
нужно написать программу на с++ помогите пожалуйста
вот задание
Дана действительная квадратная матрица порядка n, все элементы которой различны. Найти наибольший элемент на главной и побочной диагоналях и поменять его местами с элементом, стоящим на пересечении этих диагоналей. Матрица размещается в памяти динамически с помощью операции new, значение n вводится по запросу с клавиатуры. В конце работы программы освободить выделенную память. Вывести исходную и результирующую матрицы.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.05.2014, 21:07     Найти наибольший элемент на главной и побочной диагоналях
Посмотрите здесь:

найти наибольший элемент среди стоящих на главной и побочной диагоналях C++
C++ Найти наибольший элемент побочной диагонали матрицы
C++ Дана действительная квадратная матрица порядка n, все элементы которой различны. Найти наибольший элемент среди стоящих на главной и побочной диаг
C++ Найти наибольший элемент среди элементов главной и побочной диагонали
C++ Найти максимальный элемент среди элементов на главной и побочной диагоналях
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
kompromiss
0 / 0 / 3
Регистрация: 17.05.2014
Сообщений: 19
17.05.2014, 22:52     Найти наибольший элемент на главной и побочной диагоналях #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
#include "stdafx.h"
#include "iostream"
#include <time.h>
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale(LC_ALL, "Russian");  // подключаем русский язык
    srand(time(NULL));   // подключаем рандом
    int n, i, j, m, k;
    int *a_storage; // инициализация указателей
    int **a;
 
    printf("Введиете размер матрицы\n");
    while(1) // бесконечный цикл, пока не будет введено верное n
    {
    scanf("%d", &n);
    if(n%2==0) printf("Введите нечётный размер, чтобы получить пересечерие диагоналей\n");
    else break;
    }
    a_storage = (int*)malloc(n*n);   // выделение памяти 
    a = (int**)malloc(n*sizeof(int*)); // выделение памяти
    for (i = 0; i < n; ++i)  
        a[i] = a_storage + i*n; 
    for(i=0;i<n;i++)        // создаём матрицу из рандомных чисел
    {
        for(j=0;j<n;j++)
            a[i][j]=rand()%10;  // рандом поформуле =rand()n+%m тогда число формируются от n до n+m
    }
    for(i=0;i<n;i++)    // вывод на экран первой матрицы
    {
        for(j=0;j<n;j++)
            printf("%3d", a[i][j]);
        printf("\n");
    }
    int max=0;
    for(i=0, j=0; i<n; i++, j++)      // ищем максимальное число с главной диагонали и его координаты
        if(a[i][j]>max){ max=a[i][j]; m=i; k=j;}
    for(i=0, j=n-1; i<n; i++, j--)     // продолжаем искать  максимальное число на побочной диагонали и его координаты
        if(a[i][j]>max){ max=a[i][j]; m=i; k=j;}
    printf("Максимальное число %d\n", max);
    int t=a[m][k];     // меняем местами максимум с серединой
    a[m][k]=a[n/2][n/2];
    a[n/2][n/2]=t;
 
    for(m=0;m<n;m++)    // выводим изменённую матрицу
    {
        for(k=0;k<n;k++)
        printf("%3d", a[m][k]);
        printf("\n");
    }
    return 0;
}
Примерно такой код, в 2010 студии работает
monster469
0 / 0 / 0
Регистрация: 17.05.2014
Сообщений: 17
18.05.2014, 10:41  [ТС]     Найти наибольший элемент на главной и побочной диагоналях #3
спасибо огромное вам
monster469
0 / 0 / 0
Регистрация: 17.05.2014
Сообщений: 17
20.05.2014, 10:14  [ТС]     Найти наибольший элемент на главной и побочной диагоналях #4
а можешь пожалуйста скинуть скрин-что программа выводит?
kompromiss
0 / 0 / 3
Регистрация: 17.05.2014
Сообщений: 19
20.05.2014, 15:26     Найти наибольший элемент на главной и побочной диагоналях #5
Добавил вывод координат, на скрине всё видно
Миниатюры
Найти наибольший элемент на главной и побочной диагоналях  
monster469
0 / 0 / 0
Регистрация: 17.05.2014
Сообщений: 17
20.05.2014, 19:15  [ТС]     Найти наибольший элемент на главной и побочной диагоналях #6
вообще от души)))спасибо
Yandex
Объявления
20.05.2014, 19:15     Найти наибольший элемент на главной и побочной диагоналях
Ответ Создать тему
Опции темы

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