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

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

 

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

вид форума:
Линейный форум Структурный форум

тема: Ответ 002 на задачу N 7
 
 автор: SoftTime   (16.02.2006 в 14:55)   письмо автору
 
 

Ответ 002 на задачу N 7.
С условиями задачи можно ознакомится по ссылке.
<?php
# скрипт mixture.php к задаче 7

# читаем файл в массив
$data file("data.txt");
# перемешиваем строки
shuffle($data);
# открываем файл
$file fopen("data.txt""wt");
# формируем строку для записи в файл
$result "";
for ( 
$i 0$i count($data); $i++ ) {
  
$result .= trim($data[$i])."\n";
}
# записываем и закрываем файл
fwrite($file$result);
fclose($file);
?>


<?php
# скрипт orderalph.php к задаче 7

# читаем файл в массив
$data file("data.txt");
# сделаем новый массив, состоящий из
# номера строки и самой строки
$i 0;
foreach ( 
$data as $val ) {
  
# разбиваем по пробелу (учитывается возможность того,
  # что строка может содержать ещё пробелы)
  
$str explode(" "trim($val), 2);
  
$arr[$i] = $str[1];
  
$i++;
}
# сортировка по алфавиту
sort($arrSORT_STRING);
# открываем файл
$file fopen("data.txt""wt");
# формируем строку для записи в файл
$result "";
for ( 
$i 0$i count($arr); $i++ ) {
  
$result .= ($i 1)." ".$arr[$i]."\n";
}
# записываем и закрываем файл
fwrite($file$result);
fclose($file);
?>


<?php
# скрипт ordernum.php к задаче 7

# читаем файл в массив
$data file("data.txt");
# сделаем новый массив, состоящий из
# номера строки и самой строки
foreach ( $data as $val ) {
  
$str explode(" "trim($val));
  
$arr[$str[0]] = $str[1];
}
# сортируем массив по ключу
ksort($arr);
# открываем файл
$file fopen("data.txt""wt");
# формируем строку для записи в файл
$result "";
for ( 
$i 1$i < (count($arr) + 1); $i++ ) {
  
$result .= $i." ".$arr[$i]."\n";
}
# записываем и закрываем файл
fwrite($file$result);
fclose($file);
?>


http://www.softtime.ru/info/task.php?id_article=77

   
 
 автор: cheops   (19.02.2006 в 23:52)   письмо автору
 
   для: SoftTime   (16.02.2006 в 14:55)
 

Организация случайного порядка очень хорошая, одинаково срабатывает не зависимо от того есть у последней строки перевод файла или нет. После этого правда перевод в конце появляется, если не было - однако на дальнейшие сортировки он не влияет. Так же совершенно оправданное использование функции shuffle(). Однако с сортировкой не согласен, например, дляorderalph.php результат выглядит следующим образом
1 ASP.NET
2 Assembler
3 C++
4 Fort
5 Fortran
6 Java
7 JavaScript
8 PHP
9 Pascal
10 Perl

а требовалось
4 ASP.NET
10 Assembler
7 C++
1 Fort
9 Fortran
5 Java
3 JavaScript
8 Pascal
6 Perl
2 PHP

Так как языки изначально пронумерованы и на них могут ссылаться из других файлов.

   
 
 автор: Саня   (20.02.2006 в 00:13)   письмо автору
 
   для: cheops   (19.02.2006 в 23:52)
 

Довольно мутно была поставлена задача. Как понял - так и решил.
Кроме этого требуется разработать файл orderalph.php, который бы сортировал языки программирования по алфавиту, не принимая во внимание цифры (в результирующем файле цифры, однако должны остаться).

Цифры не принимались во внимание, но в результирующем файле они остались.

   
 
 автор: cheops   (20.02.2006 в 01:00)   письмо автору
 
   для: Саня   (20.02.2006 в 00:13)
 

Справедливо, но от части, ведь заказчики за частую тоже достаточно мутно выражаются...

   
Rambler's Top100
вверх

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