На этом форуме отвечают на конкретные вопросы. Фраза «я не понимаю, как решать» — это не вопрос. На вопрос «как решить задачу №X» вас отошлют к материалам сайта kpolyakov.spb.ru. За бессвязный поток слов и неспособность формулировать свои мысли — бан.

Если у вас не сходится ответ на какую-то задачу, пожалуйста сразу представляйте свое «правильное» решение.
Программы "заворачивайте" в тэг [pre2]...[/pre2], при этом сохраняются все отступы и применяется моноширинный шрифт. Если у вас используется сочетание "[i]" для обозначения элемента массива или строки, ставьте пробел после открывающей скобки. Иначе система выделит все дальнейшее курсивом.

Для регистрации на форуме щелкните по ссылке «Вход-регистрация» вверху страницы. В открывшееся окошко «ник» введите свою фамилию на русском языке (например, Иванов). В окошко «пароль» введите придуманный вами пароль, состоящий из латинских букв и цифр. Поставьте галочку в окошке «зарегистрироваться, я новый участник» и нажмите кнопку «ОК».

АвторСообщение



Не зарегистрирован
ссылка на сообщение  Отправлено: 09.02.12 21:20. Заголовок: [C4] Решение задачи демо версии на PHP


Как будет оцениваться следующий вариант решения задачи С4 из демо версии на языке PHP?

<?php

$f=fopen("input.txt","r");
$n=fgets($f); // кол-во пришедших задач


$s=fgets($f); // название первой задачи
$a[$s]=1; // в ассоциированный массив в элемент с индексом, равным названию задачи,
// записываем, что она встречается в данный момент 1 раз



for($i=1; $i<$n; $i++){ // обрабатываем все остальные задачи
$s=fgets($f); // название задачи
if (array_key_exists($s,$a)) // если элемент с индексом, равным названию задачи, существует в массиве,
$a[$s]=$a[$s]+1; // то увеличиваем его значение на 1
// (сколько раз задача встречается на данный момент)
else
$a[$s]=1; // в противном случае добавляем в массив элемент с индексом,
// равным названию задачи, со зачением 1 (задача встретилась 1 раз)
}

fclose($f);


arsort($a); // сортируем массив по значениям, т.е. по частоте встречаемости


//Выводим ответ
$j=1; // кол-во обработанных элементов
foreach($a as $i=>$v){
if ($j<=3) // если это первые три элемента,
echo "$i $a[$i]<br>"; // то выводим ключ (название) и элемент (частоту)
if ($j==3) $s=$i; // запоминаем название 3-ей задачи
if (($j>3)&&($a[$i]==$a[$s])) // если другие задачи имеют ту же частоту встречаемости, что и третья задача
echo "$i $a[$i]<br>"; // то выводим их
$j++;
}

?>

В вариантах решения на Pascal и С основными шагами являются поиск элемента в массиве и его сортировка. В языке PHP это можно сделать с помощью стандартных функций. Отразится ли их использование на оценки решения?

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 1 [только новые]


Администратор




Сообщение: 90
ссылка на сообщение  Отправлено: 10.02.12 17:44. Заголовок: Evgeniya пишет: В ва..


Evgeniya пишет:
 цитата:
В вариантах решения на Pascal и С основными шагами являются поиск элемента в массиве и его сортировка. В языке PHP это можно сделать с помощью стандартных функций. Отразится ли их использование на оценки решения?

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

___________________________________________________
Имей мужество пользоваться собственным умом. (И. Кант)
Спасибо: 0 
ПрофильЦитата Ответить
Ответ:
1 2 3 4 5 6 7 8 9
видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 234
Права: смайлы да, картинки да, шрифты нет, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет