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

Найти в двумерном массиве максимальный элемент и удалить строку и столбцы, содержащие найденный элемент - C++

Восстановить пароль Регистрация
 
Ozzys
0 / 0 / 0
Регистрация: 25.02.2013
Сообщений: 64
08.06.2014, 16:05     Найти в двумерном массиве максимальный элемент и удалить строку и столбцы, содержащие найденный элемент #1
Программу ищет в двумерном массиве максимального элемента и удаляет строку и столбцы, содержащего найденный элемент. Приемлема в том, что он записывает в новый массив все в 1 строку и на другие строки не спускается. Помогите это исправить, что бы он записывал во второй массив правильно. Спасибо

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
#include <iostream> 
#include <math.h>  
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
 
using namespace std; 
int main(char* argv[])
{
    int strok = 5;
    int stolb = 5;
    int k = 0;
 
 
    int ptrarray2[100][100], ptrarray[100][100], value = 0, maxi, maxj;
    
    for (int i = 0; i < strok; i++){
        for (int j = 0; j < stolb; j++){
            ptrarray2[i][j]= (rand() % 89) + 10;
        }
    }
    for (int i = 0; i < strok; i++){
        for (int j = 0; j < stolb; j++){
            if (ptrarray2[i][j] > value)
            {
                value = ptrarray2[i][j];
                maxi = i;
                maxj = j;
            }
        }
    }
 
    for (int i = 0; i < strok; i++){
        for (int j = 0; j < stolb; j++){
            cout << ptrarray2[i][j]<< " ";
        }
        cout << endl;
    } 
    cout << endl;
    int m = 0; int t = 0;
    for (int i = 0; i < strok; i++){
        for (int j = 0; j < stolb; j++){
             t++;
            if (i != maxi)
            {
                if (j != maxj)
                {
                    if (t == stolb+1)
                    {
                        k++;
                    }
                    ptrarray[k][m] = ptrarray2[i][j];
                    m++;
                    
                }
            }
        }       
    } 
    for (int i = 0; i < strok - 1; i++){
        for (int j = 0; j < stolb - 1; j++){
            cout << ptrarray[i][j]<< " ";
        }
        cout << endl;
    } 
    system ("pause");
}
Работа со вторым массивом

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
for (int i = 0; i < strok; i++){
        for (int j = 0; j < stolb; j++){
             t++;
            if (i != maxi)
            {
                if (j != maxj)
                {
                    if (t == stolb+1)
                    {
                        k++;
                    }
                    ptrarray[k][m] = ptrarray2[i][j];
                    m++;
                    
                }
            }
        }       
    }
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.06.2014, 16:05     Найти в двумерном массиве максимальный элемент и удалить строку и столбцы, содержащие найденный элемент
Посмотрите здесь:

C++ Найти в двумерном массиве максимальный элемент
В двумерном массиве найти в каждой строке максимальный элемент, затем среди этих чисел выбрать минимальный C++
C++ найти максимальный элемент в массиве и удалить его
C++ В двумерном массиве А[5, 4] найти в каждом столбце наибольший (максимальный элемент)
В двумерном массиве А[5, 4] найти в каждом столбце наибольший (максимальный элемент) C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
BRcr
 Аватар для BRcr
4003 / 2292 / 155
Регистрация: 03.02.2011
Сообщений: 5,064
Записей в блоге: 10
08.06.2014, 16:16     Найти в двумерном массиве максимальный элемент и удалить строку и столбцы, содержащие найденный элемент #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
    for ( int i = 0; i < strok; ++i )
    {
        if ( i != maxi )
        {
            for ( int j = 0; j < stolb; ++j )
            {
                if ( j != maxj )
                {
                    ptrarray[ k ][ m++ ] = ptrarray2[ i ][ j ];
                }
            }
            ++k;
        }
    }
Ozzys
0 / 0 / 0
Регистрация: 25.02.2013
Сообщений: 64
08.06.2014, 16:18  [ТС]     Найти в двумерном массиве максимальный элемент и удалить строку и столбцы, содержащие найденный элемент #3
Пробовал и так, не помогает.
BRcr
 Аватар для BRcr
4003 / 2292 / 155
Регистрация: 03.02.2011
Сообщений: 5,064
Записей в блоге: 10
08.06.2014, 16:53     Найти в двумерном массиве максимальный элемент и удалить строку и столбцы, содержащие найденный элемент #4
Ай-яй-яй, как жаль...
Ozzys
0 / 0 / 0
Регистрация: 25.02.2013
Сообщений: 64
08.06.2014, 17:21  [ТС]     Найти в двумерном массиве максимальный элемент и удалить строку и столбцы, содержащие найденный элемент #5
Тема закрыта!
smert0406
0 / 0 / 0
Регистрация: 26.03.2016
Сообщений: 39
Завершенные тесты: 1
24.04.2016, 23:57     Найти в двумерном массиве максимальный элемент и удалить строку и столбцы, содержащие найденный элемент #6
Ozzys, помоги пожалуйста, у меня тоже такое задание. Как ты решил проблему?
Yandex
Объявления
24.04.2016, 23:57     Найти в двумерном массиве максимальный элемент и удалить строку и столбцы, содержащие найденный элемент
Ответ Создать тему
Опции темы

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