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

нахождение наименьшего и наибольшего,,,,замена местами.... - C++

Восстановить пароль Регистрация
 
Alexandra777
0 / 0 / 0
Регистрация: 03.10.2011
Сообщений: 34
08.05.2012, 20:12     нахождение наименьшего и наибольшего,,,,замена местами.... #1
Задание.Дана действительная квадратная матрица порядка n. Найти наибольшее и наименьшее из значений элементов, расположенных в заштрихованной части матрицы и поменять их местами.
проблема в выполнении штриховки....Буду очень признательна за помощь
Вот что у меня есть.
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
#include <iostream.h>
#include <conio.h>
#include <math.h>
#include <stdio.h>
void main ()
{
clrscr ();
int a[100][100], i, j,max,min,n;
cin>>n;
for (i=0;i<n;i++)
    {
    for (j=0;j<n;j++)
        {
        cin>>a[i][j];
        }
    }
int b[2][2],k,c=0,q;
max=0;
min=100;
if ((n % 2)!=0)   //разбирает матрицу по четности ранга
    {
    q=(n-1)/2+1;
    }
    else
    {
    q=n/2;
    c=1;
    }
for (k=0;k<n/2;k++)         // ????
        {
        for (i=q;i<(n/2+c);i++)
            for (j=c;j<(n-c);j++)
                {
                if (max<a[i][j]) 
                    {
                    max=a[i][j];
                    b[1][1]=i;
                    b[1][2]=j;
                    }
                if(min>a[i][j]) 
                    {
                    min=a[i][j];
                    b[2][1]=i;
                    b[2][2]=j;
                    }
                }
        c++;
        q--;
        }           // ????
cout<<max<<' '<<min;
getch();}
Изображения
 
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.05.2012, 20:12     нахождение наименьшего и наибольшего,,,,замена местами....
Посмотрите здесь:

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

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zss
Модератор
Эксперт С++
 Аватар для zss
5943 / 5548 / 1783
Регистрация: 18.12.2011
Сообщений: 14,168
Завершенные тесты: 1
08.05.2012, 20:47     нахождение наименьшего и наибольшего,,,,замена местами.... #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
59
60
61
62
#include <conio.h>
#include <iostream>
using namespace std;
 
void main ()
{
//clrscr ();
    int a[100][100], i, j,max,min,n;
    cin>>n;
    for (i=0;i<n;i++)
    {
        for (j=0;j<n;j++)
            cin>>a[i][j];
    }
    int b[2][2],k,c=0,q;
    if ((n % 2)!=0)   //разбирает матрицу по четности ранга
        q=(n-1)/2;
    else
    {
        q=n/2-1;c=1;
    }
    max=a[0][q];
    min=max;
    for (k=1;k<q;k++)         // верхний треугольник
    {
        for (i=q-k;i<q+k;i++)
        {
                 if (max<a[k][i]) 
                {
                    max=a[k][i];
                    b[0][0]=k;
                    b[0][1]=i;
                }
                if(min>a[k][i]) 
                {
                    min=a[k][i];
                    b[1][0]=k;
                    b[1][1]=i;
                }
        }
    }          
    for (k=q;k<n;k++)         // нижний треугольник
    {
        for (i=k-q;i<n+q-k;i++)
        {
                if (max<a[k][i]) 
                {
                    max=a[k][i];
                    b[0][0]=k;
                    b[0][1]=i;
                }
                if(min>a[k][i]) 
                {
                    min=a[k][i];
                    b[1][0]=k;
                    b[1][1]=i;
                }
        }
    } 
    cout<<max<<' '<<min;
    getch();
}
Alexandra777
0 / 0 / 0
Регистрация: 03.10.2011
Сообщений: 34
08.05.2012, 20:57  [ТС]     нахождение наименьшего и наибольшего,,,,замена местами.... #3
у меня такая мысль про штриховку,что тут есть 2 варианта.....когда ранг четный и когда не четный....ведь если четный то с самого края 2 элемента,если нечетный то 1.....\\\\\
Yandex
Объявления
08.05.2012, 20:57     нахождение наименьшего и наибольшего,,,,замена местами....
Ответ Создать тему
Опции темы

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