Правила     Закладки     Карма    Календарь    Журналы    Помощь    Поиск    PDA    Чат   
        СМС-ки
   
Пейджер выключен!
 
Фильтр авторов:    показать 
  скрыть
  Ответ в темуСоздание новой темыСоздание опроса

> Генерация и сортировка массива. Как исправить прог
DimaP  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 2
Пользователь №: 43072
На форуме: 5 месяцев, 23 дня
Карма:




<?php

error_reporting(E_ALL);
mb_internal_encoding("UTF-8");

$lenght = 13; //длина текста в элементах
$count = 5; //количество элементов

function generate($length){
$letters = 'abdefhiknrstyzABDEFGHKNQRSTYZ';
$strlen_letters = strlen($letters);//длина строки
$name = '';
for ($i = 0; $i < $length; $i++) {
$name .= substr($letters, rand(1, $strlen_letters), $length);
}

return $name;

}

$array = array();
/*$count = 13;*/
$length = 5;
for ($i = 0; $i < $length; $i++) {
$array[$i] = generate($length);
}

echo 'Начальный массив:';

print_r ($array);

echo 'Массив, сортированый в алфавитном порядке:';
sort($array);
print_r($array);

echo 'Массив без первых букв:';
array_map( function($str){
return (string) substr($str,1); } ,$array);
print_r($array);

echo 'Массив, сортированый в алфавитном порядке 2:';
sort($array);
print_r($array);

?>

Вот само задание:
Дано
$lenght - длина текста в элементах, изначально задаем 13
$count - количество элементов, изначально задаем 5

Написать код, который будет генерировать случайный массив состоящий их $count элементов которые содержат текст заданной длины $lenght
После генерации полученный массив выводим на экран используя функцию print_r
Далее сортируем все элементы массива в алфавитном порядке и выводим на экран
Далее обрезаем первую букву во всех элементах и выводим на экран
Далее опять сортируем все элементы массива в алфавитном порядке и выводим на экран

Логика в коде, на мой взгляд, правильная. Какие другие функции можно использовать, в голову не приходит. Помогите плиз исправить программу.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Kusss  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 1355
Пользователь №: 28976
На форуме: 5 лет, 4 месяца, 7 дней
Карма: 77




$name .= substr($letters, rand(1, $strlen_letters) -1, 1);


error_reporting(E_ALL);
mb_internal_encoding("UTF-8");

$array = array();
$lenght = 13; //длина текста
$count = 5; // количество строк

for ($i = 0; $i < $count; $i++) {
$array[] = generate($length);
}
echo '<pre>';
print_r($array);
echo '</pre>';

...


// функцию лучше расположить в конце файла, ана не будет мешать визуально
function generate($length){
// тут тело функции
}


Это сообщение отредактировал Kusss - 18.08.2016 - 21:46
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
  Быстрый ответ
Информация о Госте
Введите Ваше имя
Кнопки кодов
Для вставки цитаты, выделите нужный текст и
НАЖМИТЕ СЮДА
Введите сообщение
Смайлики
:huh:  :o  ;) 
:P  :D  :lol: 
B)  :rolleyes:  <_< 
:)  :angry:  :( 
:unsure:  :blink:  :ph34r: 
     
Показать всё

Опции сообщения  Включить смайлики?
 Включить подпись?
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Опции темы Ответ в темуСоздание новой темыСоздание опроса