Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Массивы

Сообщения:  [1-10]   [11-12] 

 
 автор: Vecheslav   (18.12.2012 в 17:50)   письмо автору
 
   для: confirm   (09.12.2012 в 21:24)
 

Все мы студенты, в какой-то степени )

  Ответить  
 
 автор: 1234AL   (09.12.2012 в 21:44)   письмо автору
 
   для: confirm   (09.12.2012 в 21:24)
 

ух ты...

  Ответить  
 
 автор: confirm   (09.12.2012 в 21:24)   письмо автору
 
   для: 1234AL   (09.12.2012 в 20:20)
 

Ясно, очередной студент.
1 вариант (для мозгов):
<?
$src 
= array(3,1,2,-3,4,-2,-1,2,3,5,5,-5,-1,2,3,1,-2,-1,5,3);
$p 1//произведения элементов массива
$sort = array(); //отсортированный массив
foreach($src as $k=>$v) {
   if(
$v>0$sort[0][] = $v//если положительное
   
else $sort[1][] = $v//если отрицательное
   
if(!($k 1)) $p *= $v//если четный элемент, то умножение
}
echo 
'Product of even elements = '.$p.'<br>';
$sort array_merge($sort[0], $sort[1]);
echo 
'The sorted array:<br>';
print_r($sort); //выводим отсортированный массив


2 вариант (php обладает готовыми функциями для такой задачи):
<?
//получаем произведение четных элементов
$p array_product(array_intersect_key($srcarray_flip(range(0,20,2))));
echo 
'Product of even elements = '.$p.'<br>';
echo 
'The sorted array:<br>';
rsort($src); //сортируем массив в убывающем порядке 
print_r($src); //выводим отсортированный массив

  Ответить  
 
 автор: 1234AL   (09.12.2012 в 20:20)   письмо автору
 
   для: confirm   (09.12.2012 в 20:10)
 

Ну если посидеть над этим 2-3 дня, может и напишу. Жаль нет времени. Ладно буду пробовать

  Ответить  
 
 автор: confirm   (09.12.2012 в 20:10)   письмо автору
 
   для: 1234AL   (09.12.2012 в 19:49)
 

Конечно знаю, я не знаю чего вы не знаете, и чего хотите, а потому и такой диалог.
О массивах можно было бы и прочесть. Коли вы "сталкивались" с другими типами, значит как-то их изучали, а значит и с изучением типа массив не должно возникать сложностей. Из этого же следует, что вы должны знать что такое цикл, и какие они бывают.
Кроме изучения типа массив полезно изучать и функции для работы с массивами.

В простейшем случае вам надо обойти ваш массив в цикле, и проверяя текущий элемент его выполнять операции:
а) если значение элемента массива положительное, то поместить его в массив с индексом 0, в массив ранее объявленный (до цикла);
б) если значение элемента массива отрицательное, то поместить его в массив с индексом 1, в массив ранее объявленный;
в) если текущая итерация цикла четная, то умножить значение элемента массива на ранее объявленную переменную (до цикла), присвоив результат этой переменной.

После окончания цикла сложить массивы ранее объявленного массива, то есть его ключи 0 и 1, таким образом получите отсортированный по значению массив. А переменная объявленная до цикла будет содержать произведение четных элементов массива источника.

Такое вы можете написать?

  Ответить  
 
 автор: 1234AL   (09.12.2012 в 19:49)   письмо автору
 
   для: confirm   (09.12.2012 в 19:41)
 

>Вы вообще ничего не знаете?

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

  Ответить  
 
 автор: confirm   (09.12.2012 в 19:41)   письмо автору
 
   для: 1234AL   (09.12.2012 в 19:33)
 

Программа, это понятие гораздо шире, чем конкретная задача, да еще такая простая.
Вам задают вопрос - чего вам надо, разъяснений? Каких и чего?

Я вам написал, в соответствии с вашей просьбой "без нравоучений", как можно решать такую задачу - либо проход в цикле, который переберет все элементы массива, и сделает необходимое, либо без цикла, используя функции для работы с массивами.

Вы вообще ничего не знаете? В таком случае сперва надо изучить хотя бы минимум, чтобы хоть что-то сделать.

Вы хотите чтобы вам написали готовый код решения этого? В таком случае пишите прямо - "напишите ....".

  Ответить  
 
 автор: 1234AL   (09.12.2012 в 19:33)   письмо автору
 
   для: confirm   (09.12.2012 в 19:11)
 

по моему знания что такое произведение не достаточно что бы написать программу

  Ответить  
 
 автор: confirm   (09.12.2012 в 19:11)   письмо автору
 
   для: 1234AL   (09.12.2012 в 18:38)
 

Вам чего надо? Вы не знаете что такое циклы или что такое произведение чисел?

  Ответить  
 
 автор: 1234AL   (09.12.2012 в 18:38)   письмо автору
 
   для: confirm   (09.12.2012 в 16:19)
 

???

  Ответить  

Сообщения:  [1-10]   [11-12] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования