Учеба и наука

Решено

что не так в моей программе? - вопрос №1331976

Program A;
Var z,b,i:integer;
begin randomize;
z:=randon(16);
b:=randon(16);
i:=randon(16);
writeln('z=',z,'b=',b,'i=',i);
if (z>b) and (b>i) then writeln('z=',z,'b=',b,'i=',i);
if (z>i) and (i>b) then writeln('z=',z,'i=',i,'b=',b);
if (z<b) and (b<i) then writeln('i=',i,'b=',b,'z=',z);
if (i>z) and (b<z) then writeln('i=',i,z=',z,',b=',b);
if (b>i) and (i>z) then writeln('b=',b,'i=',i,'z=',z);
if (b<i) and (z>i) then writeln('z=',z,'i=',i,'b=',b);
readln(z,b,i);
end.

Вопрос задан анонимно январь 13, 2015 г.

  • Всего ответов: 1

  • Анатолий - аватарка

    Анатолий

    31-й в

    Что должна делать ваша программа? Ну, если смотреть по ошибкам, то:
    не randon, а random;
    пропущен апостроф в этой строчке if (i>z) and (b<z) then writeln('i=',i,'z=',z,',b=',b);
    если условие выполнилось, то не нужно проверять все остальные, а иначе нужно проверить каждое следующее.

    Исправленная программа:

    program A;
    var z, b, i:integer;
    begin
     randomize;
     z:=random(16);
     b:=random(16);
     i:=random(16);
     writeln('z=',z,' b=',b,' i=',i);
     if (z>b) and (b>i) then writeln('z=',z,' b=',b,' i=',i)
     else if (z>i) and (i>b) then writeln('z=',z,' i=',i,' b=',b)
      else if (z<b) and (b<i) then writeln('i=',i,' b=',b,' z=',z)
       else if (i>z) and (b<z) then writeln('i=',i,' z=',z,' b=',b)
        else if (b>i) and (i>z) then writeln('b=',b,' i=',i,' z=',z)
         else if (b<i) and (z>i) then writeln('z=',z,' i=',i,' b=',b);
     readln(z,b,i);
    end.

    январь 15, 2015 г.
    Ответ понравился автору
    Лучший ответ по мнению автора