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

Работа с диагоналями в массиве - C++

Восстановить пароль Регистрация
 
noobstylefresh
0 / 0 / 0
Регистрация: 25.06.2012
Сообщений: 10
25.06.2012, 20:25     Работа с диагоналями в массиве #1
ребят помогите найти манимальный элемент и максимальный . вот условие:

Задан двумерный динамический массив размером NxM. Найти минимальный среди элементов. лежащих выше побочной оси, и максимальный среди элементов, лежащих ниже главной оси.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.06.2012, 20:25     Работа с диагоналями в массиве
Посмотрите здесь:

Вывести контуры квадрата с диагоналями C++
C++ Работа с переменными в массиве.
Определить минимальный элемент квадратной матрицы, расположенный в левой части, ограничен диагоналями, включая диагональные элементы C++
C++ Работа с типами данных в массиве
C++ Нулевые элементы размещены в верхнем и нижнем треугольнике, за условием разделения матрицы диагоналями на 4 треугольника
C++ Заполнение двухмерного массива диагоналями
Обработка отдельных строк (столбцов) матрицы и работа с диагоналями. Двумерные массивы C++
C++ Работа с диагоналями массива

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zitxbit
Master C/C++
 Аватар для zitxbit
86 / 738 / 75
Регистрация: 11.04.2012
Сообщений: 971
25.06.2012, 21:04     Работа с диагоналями в массиве #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
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
 
#define N 10
#define M 10
 
int main()
{
    int** X = new int*[N];
    for (int i = 0; i < N; i++)
    {
        X[i] = new int[M];
        for (int j = 0; j < M; j++)
        {
            X[i][j] = rand() % 9 + 1;
            printf("%d ",X[i][j]);
        }
 
        printf("\n");
    }
 
    int min_i = 0, min_j = 0;
    for (int t1 = 0; t1 < N; t1++)
        for (int t2 = 0; t2 < N-t1; t2++)
            if (X[t1][t2] < X[min_i][min_j])
             { min_i = t1; min_j = t2; }
 
    int min_d1 = 0, min_d2 = 0;
    for (int q1 = 0; q1 < N; q1++)
        for (int q2 = 0; q2 < q1; q2++)
            if (X[q1][q2] < X[min_d1][min_d2])
             { min_d1 = q1; min_d2 = q2; }
 
    printf("\nMin X[%d][%d] = %d\n",min_i,min_j,X[min_i][min_j]);
    printf("Min X[%d][%d] = %d\n",min_d1,min_d2,X[min_d1][min_d2]);
    
    _getch();
 
    return 0;
}
http://liveworkspace.org/code/2a373d...01e9dadf5d1983
noobstylefresh
0 / 0 / 0
Регистрация: 25.06.2012
Сообщений: 10
25.06.2012, 22:00  [ТС]     Работа с диагоналями в массиве #3
Цитата Сообщение от Invader_Zim Посмотреть сообщение
noobstylefresh, Выложите ваши наработки. С нуля писать влом. Да и вам это полезнее будет.
Вот но тут бред по ходу)

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.h>
#include <math.h>
#include <iomanip.h>
 
int main()
{
 
    int  i,j,n,m,imax,imin,jmax,jmin;
 
    double **a;
 
    cout<<"vvedite massiv n,m"<<endl;
    cin>>n>>m;
 
    a= new double *[n];
    
    for (i=0; i<n; i++ )
        a[i] = new double [m];
    
    for (i=0; i<n; i++)
    for (j=0; j<m; j++)
    {
 
        cout<<"VVedite a["<<i<<"]["<<j<<"]:";
        cin>>a[i][j];
    }
 
    cout<<"Massiv a: "<<endl;
    for(i=0; i<n; i++)
    {
      for(j=0; j<m; j++)
          cout<<setw(6)<<a[i][j]<<"";
          cout<<endl;
    }
imin=jmin=0;
 for (i=0; i<n-1; i++) // ìèГ* ГЅГ« âûøå ïîáî÷Г*îé äèГ*ГЈГ®Г*Г*ëè
for (j=0; j<n-i-1; j++)
  {  
     if (a[i][j]<a[imin][jmin]) { imin=i;
                                        jmin=j;
                                      }
}
 
imax=jmax=0;
 
for(i=1;i<n;i++)
for(j=0;j<m &&j<i;j++)
{
if (a[i][j]>a[imax][jmax]) { imax=i;
                                    jmax=j;
}
 
cout << "max element: ["<<imax<<"]" << endl;
cout << "min element: ["<<imin<<"]" << endl;
 
}
    return 0;
}
Добавлено через 7 минут
Цитата Сообщение от zitxbit Посмотреть сообщение
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
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
 
#define N 10
#define M 10
 
int main()
{
    int** X = new int*[N];
    for (int i = 0; i < N; i++)
    {
        X[i] = new int[M];
        for (int j = 0; j < M; j++)
        {
            X[i][j] = rand() % 9 + 1;
            printf("%d ",X[i][j]);
        }
 
        printf("\n");
    }
 
    int min_i = 0, min_j = 0;
    for (int t1 = 0; t1 < N; t1++)
        for (int t2 = 0; t2 < N-t1; t2++)
            if (X[t1][t2] < X[min_i][min_j])
             { min_i = t1; min_j = t2; }
 
    int min_d1 = 0, min_d2 = 0;
    for (int q1 = 0; q1 < N; q1++)
        for (int q2 = 0; q2 < q1; q2++)
            if (X[q1][q2] < X[min_d1][min_d2])
             { min_d1 = q1; min_d2 = q2; }
 
    printf("\nMin X[%d][%d] = %d\n",min_i,min_j,X[min_i][min_j]);
    printf("Min X[%d][%d] = %d\n",min_d1,min_d2,X[min_d1][min_d2]);
    
    _getch();
 
    return 0;
}
http://liveworkspace.org/code/2a373d...01e9dadf5d1983

у вас максимальное и минимальное значение показывает 1 постоянно, и это сильно сложно для меня мне по проще бы решение, я только начал учить и пишу в вижуале 6-ом. т.к. препод заставляет, на новых нельзя))
Yandex
Объявления
25.06.2012, 22:00     Работа с диагоналями в массиве
Ответ Создать тему
Опции темы

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