Остановите бесконечный while - Free Pascal
Формулировка задачи:
Проблема такова: С помощью цикла while я вывожу нужные мне значения, но проблема в том, что он выводит их Бесконечное число раз, а мне нужно только 1 раз вывести. Как это сделать? Через цикл for я не знаю как именно в данном случае сделать...Вот вам пример кода на c++, код рабочий, но в pascal я редко программирую...Не смог написать на pascal через for, потому что в c++ мы типа не учитывали нач. условие в этом месте => (;i<n; i++) , а в pascal я не знаю как так сделать
cout<<"Введите любое число с клавиатуры: "; cin>>k; int i=0; for(;i<n; i++){ if (b[i]>k){ cout<<"b["<<i<<"]="<<b[i]<<">"<<k<<endl; break; } } if (i==n) cout<<"В массиве нет чисел превышающих "<<k<<endl; return 0;
write('Vvedite chislo s claviaturi: '); read(k); while i<=n do begin if (b[i]>k) then writeln('b[',i,']=',b[i],'>',k); end; if (i=n) then write('V massive net chisel bolshe ', k);
Решение задачи: «Остановите бесконечный while»
textual
Листинг программы
program Project1; uses crt; var n, i: integer; a: array[1..10] of double; b: array[1..10] of double; k: double; begin writeln('Zapalni massiv'); for i:=1 to 10 do read(a[i]); writeln('Vash Massiv: '); for i:=1 to 10 do begin a[1]:=1; writeln(a[i]); end; write('Vvedite MAX kol-vo elementov: '); read(n); for i:=2 to n do begin b[i]:=((i-1)/2)*(a[i-1]+2)/a[i-1]; writeln('b[', i-1, ']=', b[i]); end; write('Vvedite chislo s claviaturi: '); read(k); i:=0; while i<=n do begin if (b[i]>k) then begin writeln('b[',i,']=',b[i],'>',k); break; end; i:=i+1; end; if (i=n) then write('V massive net chisel bolshe ', k); end.
Объяснение кода листинга программы
Список элементов кода:
- Объявление переменных и массивов.
- Заполнение массива a значениями с клавиатуры.
- Вывод содержимого массива a.
- Ввод количества элементов для массива b.
- Заполнение массива b значениями, используя формулу (i-1)/2)*(a[i-1]+2)/a[i-1].
- Вывод содержимого массива b.
- Ввод значения переменной k с клавиатуры.
- Цикл while для проверки условия b[i]>k и выхода из цикла при его выполнении.
- Вывод сообщения, если значение k не найдено в массиве b.
- Проверка условия i=n, и вывод сообщения, если оно выполняется.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д