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

Форум PHP

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

 

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

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

тема: Помогите решить задачу с функцией

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

 
 автор: Исильдур   (21.02.2013 в 01:19)   письмо автору
 
   для: Valick   (21.02.2013 в 00:48)
 

Valick спасибо еще раз, будем алгоритмическое мышление развивать))

  Ответить  
 
 автор: Valick   (21.02.2013 в 00:48)   письмо автору
 
   для: Северьян   (21.02.2013 в 00:36)
 

Учиться это хорошо, вот откопал алгоритм столько лет прошло, а я его часто вспоминаю
http://softtime.ru/forum/read.php?id_forum=1&id_theme=57979
задача интересная
попробуйте реализовать
там конечно в конце есть мой вариант, но его не обязательно сразу подглядывать :)
____
есть еще не менее интересная, но немного более сложная задача
http://softtime.ru/forum/read.php?id_forum=3&id_theme=85595
имненно на таких достаточно специфических задачах и тренируется логика

  Ответить  
 
 автор: Северьян   (21.02.2013 в 00:36)   письмо автору
 
   для: Valick   (21.02.2013 в 00:30)
 

Спасибо, Valick, за ссылку. Будем учиться...

  Ответить  
 
 автор: Valick   (21.02.2013 в 00:34)   письмо автору
 
   для: Исильдур   (21.02.2013 в 00:15)
 

я бы может и додумался, а может и другой вариант "родил"
хотя применить целочисленное деление была мысль

  Ответить  
 
 автор: Valick   (21.02.2013 в 00:30)   письмо автору
 
   для: Северьян   (21.02.2013 в 00:23)
 

гугл первый помошник :)
Блог Вячеслава Волкова
Хотя я думаю и Вячеслав тоже не автор этого варианта

и только потом мозг ;)

  Ответить  
 
 автор: Северьян   (21.02.2013 в 00:23)   письмо автору
 
   для: Valick   (21.02.2013 в 00:08)
 

Рука опытного - налицо. Нам учиться и учиться... Э-е-х..

  Ответить  
 
 автор: Северьян   (21.02.2013 в 00:19)   письмо автору
 
   для: Valick   (20.02.2013 в 23:52)
 

Приношу свои извинения. Я только учусь... Тогда как-то так:

<?php
function myfunc($int) {
   
settype($int,"string");
   
$end_char substr($int,-1,1);
   
$count strlen($int);
   if(
$count >= 2) {
      
$dec_char $int[$count 2];
      if(
$dec_char == '1') {
         
$end_word 'тов';
         }
      else {
         switch(
$end_char) {
            case 
'1'$end_word 'т'; break;
            case 
'2'$end_word 'та'; break;
            case 
'3'$end_word 'та'; break;
            case 
'4'$end_word 'та'; break;    
            default: 
$end_word 'тов';
            }
         }
      }  
   if(
$count == 1) {
      switch(
$end_char) {
         case 
'1'$end_word 'т'; break;
         case 
'2'$end_word 'та'; break;
         case 
'3'$end_word 'та'; break;
         case 
'4'$end_word 'та'; break;    
         default: 
$end_word 'тов';
         }
      }                
   return 
$int ' программис' $end_word;      
   };
echo 
myfunc(121);
?> 

  Ответить  
 
 автор: Исильдур   (21.02.2013 в 00:15)   письмо автору
 
   для: Valick   (21.02.2013 в 00:08)
 

Большое Спасибо!
Мне бы пожалуй до такого было не додуматься))

  Ответить  
 
 автор: Valick   (21.02.2013 в 00:08)   письмо автору
 
   для: Исильдур   (20.02.2013 в 23:54)
 

function NumberEnd($number, $titles) {
    $cases = array (2, 0, 1, 1, 1, 2);
    return $titles[ ($number%100>4 && $number%100<20)? 2 : $cases[min($number%10, 5)] ];
}
$a = 12;
echo $a.' программист'.NumberEnd($a, array('','а','ов'));

  Ответить  
 
 автор: Исильдур   (20.02.2013 в 23:54)   письмо автору
 
   для: Северьян   (20.02.2013 в 23:04)
 

Спасибо за предоставленное решение, но и оно не работает должным образом)) При передаче числа 22 результат:
Notice: Undefined variable: end_word in /var/www/index.php on line 47 22 программис 

Завтра попробую еще порешать на свежую голову.

  Ответить  

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

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

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