Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Ozzys
0 / 0 / 0
Регистрация: 25.02.2013
Сообщений: 64
#1

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

08.06.2014, 16:05. Просмотров 405. Ответов 5
Метки нет (Все метки)

Программу ищет в двумерном массиве максимального элемента и удаляет строку и столбцы, содержащего найденный элемент. Приемлема в том, что он записывает в новый массив все в 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++;
                    
                }
            }
        }       
    }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.06.2014, 16:05
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Найти в двумерном массиве максимальный элемент и удалить строку и столбцы, содержащие найденный элемент (C++):

В двумерном массиве n*m найти строку с минимальной суммой и в ней максимальный элемент - C++
1)Создать двумерный массив размером n*m. 2)Найти строку с минимальной суммой и в ней максимальный элемент. как сделать первое примерно...

Найти максимальный элемент и заменить им первый элемент строки в двумерном массиве - C++
В матрице X(4,5) в каждой строке найти максимальный элемент и заменить им первый элемент строки. Предварительно первый элемент строки...

В двумерном массиве удалить все столбцы в которых первый элемент больше последнего - C++
В двумерном массиве удалить все столбцы в которых первый элемент больше последнего.

Найти в двумерном массиве максимальный элемент - C++
Нужно создать двумерный массив одним из способов: - вручную -автозаполнением (case) И затем найти максимаьный елемент вот с...

В двумерном массиве А[5, 4] найти в каждом столбце наибольший (максимальный элемент) - C++
В двумерном массиве А найти в каждом столбце наибольший (максимальный элемент). После этого определить столбец у которого максимальный...

В двумерном массиве А[5, 4] найти в каждом столбце наибольший (максимальный элемент) - C++
В двумерном массиве А найти в каждом столбце наибольший (максимальный элемент). После этого определить столбец у которого максимальный...

5
BRcr
4015 / 2305 / 156
Регистрация: 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;
        }
    }
0
Ozzys
0 / 0 / 0
Регистрация: 25.02.2013
Сообщений: 64
08.06.2014, 16:18  [ТС] #3
Пробовал и так, не помогает.
0
BRcr
4015 / 2305 / 156
Регистрация: 03.02.2011
Сообщений: 5,064
Записей в блоге: 10
08.06.2014, 16:53 #4
Ай-яй-яй, как жаль...
0
Ozzys
0 / 0 / 0
Регистрация: 25.02.2013
Сообщений: 64
08.06.2014, 17:21  [ТС] #5
Тема закрыта!
0
smert0406
0 / 0 / 0
Регистрация: 26.03.2016
Сообщений: 47
Завершенные тесты: 1
24.04.2016, 23:57 #6
Ozzys, помоги пожалуйста, у меня тоже такое задание. Как ты решил проблему?
0
24.04.2016, 23:57
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.04.2016, 23:57
Привет! Вот еще темы с ответами:

Найти в двумерном массиве максимальный повторяющийся более одного раза элемент - C++
Подскажите, пожалуйста, вот у меня задание, нужно найти в двумерном массиве максимальный повторяющийся более одного раза элемент,...

В двумерном массиве найти в каждой строке максимальный элемент, затем среди этих чисел выбрать минимальный - C++
1.в двумерном массиве найти в каждой строке максимальный элемент, затем среди этих чисел выбрать минимальный. 2.характеристикой столбца...

Найти максимальный элемент в массиве и удалить его - C++
У нас одномерный массив. Количество элементов и сами элементы вводятся с клавиатуры. нужно найти максимальный элемент в этом массиве и...

В двумерном массиве поменять местами максимальный и минимальный элемент - C++
Всем доброго времени суток! Помогите пожалуйста с заданием, найти наибольший и наименьший элементы прямоугольной матрицы и поменять их...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru