Предприниматель Василий после прочтения знаменитой книжки решил открыть новый бизнес

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

Мобильный телефон Василия поддерживает только транслит, потому он передает известья вида "N bochek" . Например, "3 bochki" либо "1 bochka"/ Напишите программку, которая избирает правильное слово (из "bochka" , "bochek" , "bochki" ) в зависимости от N.

Задать свой вопрос
1 ответ
Program vasil ;
var n , m : integer ;
begin
  write ( 'vvedi chislo bochek N=' ) ;
  readln ( n ) ;
  m := n mod 10 ;
   
  if ( m = 1 and n lt;gt; 11 ) then writeln ( n , ' bochka' ) 
   else if (m lt;= 4 and n lt;gt; 12 and n lt;gt; 13 and n lt;gt; 14 and m lt;gt; 0) then writeln ( n , ' bochki' ) 
      else writeln ( n , ' bochek' ) ;
 end.  

Так, наверное. Если будет косяк, то пиши, или сам сообрази где ошибка. На данный момент нет под рукою компилятора, не могу оттестировать. 
Просянова Эльвира
я здесь внёс несколько правок, смотри как на данный момент
Денчик
на данный момент можешь скомпилировать прогу и испытать?
Виктория Евлампева
аааа, нет. Верно разговариваешь, при нуле будет неправльно. Ща поправлю
Алёна
вот так, наверное. Добавил условие n <> 0. Ну, необходимо протестировать в деле.
Вячеслав Снимаренко
var n, m: integer ; begin write('N = '); readln(n); m := n mod 10; n := n mod 100 div 10; if (n = 1) then writeln(n, ' bochek') else if (m = 1) then writeln(n, ' bochka') else if (m <= 4) and (m > 0) then writeln(n, ' bochki') else writeln(n, ' bochek'); end.
Алла Дистолятор
вот так красивей всего будет, жалко переносы не делает
Эмилия Оболевич
Покритикую. Здесь оператор mod 100 div 10 выделит 10-ки, и только эту одну цифру отправит в выдачу. Напри, для 25 бочек будет выдано 2 2 bochek.
Лубяновская Юлия
Для n=125 будет тоже выдано 2 bochek. Не очень успешно.
Дмитрий
завтыкала что эта цифра идет в ответ
Мишаня Презанти
begin var n := ReadInteger('n = '); var r1 := n mod 10; var r2 := n mod 100 div 10; if (r2 = 1) or (r1 = 0) then writeln(n, ' bochek') else if (r1 = 1) then writeln(n, ' bochka') else if (r1 <= 4) then writeln(n, ' bochki') else writeln(n, ' bochek'); end.
, оставишь ответ?
Имя:*
E-Mail:


Последние вопросы

Добро пожаловать!

Для того чтобы стать полноценным пользователем нашего портала, вам необходимо пройти регистрацию.
Зарегистрироваться
Создайте собственную учетную запить!

Пройти регистрацию
Авторизоваться
Уже зарегистрированны? А ну-ка живо авторизуйтесь!

Войти на сайт