Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 12.11.2012
Сообщений: 23
1

Заменить максимальный элемент в двумерном массиве нулем

26.09.2014, 12:31. Показов 1246. Ответов 6
Метки нет (Все метки)

Поиск максимального нашел, а вот пытался сделать замену он весь массив превращает в 0
PHP
1
2
3
4
5
6
7
8
9
10
for($i=0;$i<$number;$i++)
{
    for($q=0; $q < $number; $q++) 
   {
   if($mass[$i][$q]>$max)
        {
            $max = $mass[$i][$q];
        }
   }
}
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.09.2014, 12:31
Ответы с готовыми решениями:

В массиве заменить максимальный элемент нулем
1.В массиве { x1, x2 ,..., xn} заменить максимальный элемент нулем.

В заданном одномерном массиве заменить максимальный элемент нулём
в заданном одномерном массиве заменить максимальный элемент нулём.

Найти максимальный элемент в массиве и заменить его нулем
Дан двумерный массив целых чисел из 4 столбцов и 3 строк. Найти максимальный элемент в массиве и...

Найти максимальный элемент в массиве и заменить его нулем
и последнее! Заранее благодарю :) Дан двумерный массив целых чисел из 4 столбцов и 3 строк. Найти...

6
207 / 199 / 110
Регистрация: 27.12.2010
Сообщений: 819
Записей в блоге: 1
26.09.2014, 12:36 2
Лучший ответ Сообщение было отмечено VladikISiT как решение

Решение

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
for($i=0;$i<$number;$i++)
{
    for($q=0; $q < $number; $q++) 
   {
   if($mass[$i][$q]>$max)
        {
            $max = $mass[$i][$q];
            $mi=$i;
            $mq=$q;
        }
   }
}
 
$mass[$mi][$mq]=0;
1
0 / 0 / 0
Регистрация: 12.11.2012
Сообщений: 23
26.09.2014, 12:45  [ТС] 3
Все разобрался
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
for($i=0;$i<$number;$i++)
{
    for($q=0; $q < $number; $q++) 
   {
   if($mass[$i][$q]>=$max)//знак равно забыл проставить
        {
            $max = $mass[$i][$q];
            $mi=$i;
            $mq=$q;
            $mass[$mi][$mq]=0;
        }
   }
}
0
207 / 199 / 110
Регистрация: 27.12.2010
Сообщений: 819
Записей в блоге: 1
26.09.2014, 12:48 4
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
$mi=array();
$mq=array();
for($i=0;$i<$number;$i++)
{
    for($q=0; $q < $number; $q++) 
   {
   if($mass[$i][$q]>=$max)
        {
            $max = $mass[$i][$q];
            $mi[]=$i;
            $mq[]=$q;
        }
   }
}
 
foreach($mi as $k=>$v){
    $mass[$v][$mq[$k]]=0;
}
0
0 / 0 / 0
Регистрация: 12.11.2012
Сообщений: 23
26.09.2014, 13:02  [ТС] 5
Спасибо за оперативность

Добавлено через 8 минут
Voka,
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
for($i=0;$i<$number;$i++)
{
    for($q=0; $q < $number; $q++) 
   {
   if($mass[$i][$q]>=$max)
        {
            $max = $mass[$i][$q];
            $mi=$i;
            $mq=$q;
            $mass[$mi][$mq]=0;
            $mass[$mi][$mq+1]=0;
        }
   }
}
Не подскажешь как сделать чтобы он при нахождении максимального следующий весь столбец приравнивал к 0. А то по добавленному $mass[$mi][$mq+1]=0; он приравнивает только справа от него элемент, но не весь столбец
0
207 / 199 / 110
Регистрация: 27.12.2010
Сообщений: 819
Записей в блоге: 1
26.09.2014, 13:05 6
Лучший ответ Сообщение было отмечено VladikISiT как решение

Решение

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
for($i=0;$i<$number;$i++)
{
    for($q=0; $q < $number; $q++) 
   {
   if($mass[$i][$q]>=$max)
        {
            $max = $mass[$i][$q];
            $mi=$i;
            $mq=$q;
            for($k=0;$k<$number;++$k) $mass[$mi][$k]=0;
        }
   }
}
1
0 / 0 / 0
Регистрация: 12.11.2012
Сообщений: 23
27.09.2014, 17:23  [ТС] 7
Спасибо еще раз
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.09.2014, 17:23

В заданном одномерном массиве заменить максимальный элемент нулём
В заданном одном. массиве заменить максимальный элемент нулем))

Найти максимальный элемент в массиве и заменить его нулем
Добрый вечер всем! Помогите пожалуйста разобраться, что делает каждое действие в программе: 1....

В заданном массиве X найти максимальный элемент и заменить его нулем
В заданном ( НЕ СЛУЧАЙНОМ ) массиве X найти максимальный элемент и заменить его нулем

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


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru