• Задаю три массива: вопросы викторины, верные ответы, ответы, которые будут введены участниками. Ответы в основном из одного - двух слов. Все вопросы и ответы ввожу присваиванием, но когда пишу цикл на ввод ответа, то первый раз цикл срабатывает нормально, а последующие разы программа не требует ввода, то есть оператор read не работает. Что я сделала не так? Вот программа:

    program m81337154u;
    var i: integer;
    ans:array [1..12] of string;
    quest:array [1..12] of string;
    answ:array [1..12] of string;
    begin
    writeln ('');
    ans[1]:='';
    ans[2]:='';
    ans[3]:='';
    ans[4]:='';
    ans[5]:='';
    ans[6]:='';
    ans[7]:='';
    ans[8]:='';
    ans[9]:='';
    ans[10]:='';
    ans[11]:='';
    ans[12]:='';
    quest[1]:='';
    quest[2]:='';
    quest[3]:='';
    quest[4]:='';
    quest[5]:='';
    quest[6]:='';
    quest[7]:='';
    quest[8]:='';
    quest[9]:='';
    quest[10]:='';
    quest[11]:='';
    quest[12]:='';
    for i:=1 to 12 do begin
    writeln ('Вопрос номер ', i);
    writeln (quest[i]);
    write ('Ваш ответ - ');
    read (answ[i]);
    if answ[i]=ans[i] then
    writeln ('Ответ верный') else
    writeln ('Ответ неверный, попробуйте снова');
    writeln;
    end;
    writeln ('Congrats');
    end.

    Где-то есть ошибка? Или паскаль никогда не повторяет read в цикле?

Ответы 1

  • program p;var i: integer;quest:array [1..2] of string;ans:array [1..2] of string;answ:array [1..2] of string;beginquest[1]:='20*2=';quest[2]:='3*5=';ans[1]:='40';ans[2]:='15';for i:=1 to 2 do beginwriteln ('Вопрос номер ', i);writeln (quest[i]);write ('Ваш ответ - ');readln (answ[i]);while answ[i]<>ans[i] do begin writeln ('Ответ неверный, попробуйте снова'); readln(answ[i]); end;writeln ('Ответ верный');writeln;end;writeln ('Congrats');end.Пример:Вопрос номер 120*2=Ваш ответ - 40Ответ верныйВопрос номер 23*5=Ваш ответ - 10Ответ неверный, попробуйте снова14Ответ неверный, попробуйте снова15Ответ верныйCongrats
    • Автор:

      dahlia
    • 6 лет назад
    • 0
  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years