array 20; что-то не то при вводе
var a:array[1..100] of real;
var n:=readinteger;
var k:integer;
var l:integer;
read(k,l);
for var i:=k to l do
begin
read(a[i]);
write(a);
var s:=0.0;
if a[i]>0 then
s+=a[i];
write(a[i]);
end;
array 20; что-то не то при вводе
var a:array[1..100] of real;
var n:=readinteger;
var k:integer;
var l:integer;
read(k,l);
for var i:=k to l do
begin
read(a[i]);
write(a);
var s:=0.0;
if a[i]>0 then
s+=a[i];
write(a[i]);
end;
А что не так? что вообще должно происходить по замыслу? Вот отформатированный и компилирующийся код того, что выше.
begin
var a: array[1..100] of real;
var n := readinteger;
var k: integer;
var l: integer;
read(k, l);
for var i := k to l do
begin
read(a[i]);
write(a);
var s := 0.0;
if a[i] > 0 then
s += a[i];
write(a[i]);
end;
end.
При вводе второго элемента использован тим целого
А можно пояснить например, зачем там переменная n? При вводе любого элемента нормально вводится вещественное число.
Это array20, что не так в нём? n:=readinteger переделал в n:integer.
Автор, объясни: 1). Что делает данная программа? 2). Зачем объявлена переменная n, которая нигде в коде не используется? 3). Если ты считаешь сумму положительных элементов, то зачем ты в цикле постоянно обнуляешь переменную s? 4). Для чего после оператора read(a[i]) стоит оператор write(a) ? По логике, он лишний, т.к. у тебя дальше по тексту есть еще один: write(a[i]) 5. Научись пользоваться операторами readln и writeln, а также выводить пробелы между данными, а то у тебя на экране будет вообще что-то непонятное.
Дык я то не автор, и мне все то же самое интересно было.
Не знаю, где ты взял этот код, но я думаю, что замысел автора был в подсчете суммы положительных элементов массива А, диапазон которых задается переменными К и L. Только вот работает этот код(в исполнении автора) неправильно. Имхо.
Я взял код в первом посте и сделал так, чтобы его можно было скопировать и запустить, больше ничего не делал. Код не мой, смотри внимательно в первый пост этой темы. Это один и тот же код, просто мой запускается сразу.
ну хорошо, ты подправил код. и что он вычисляет?
А это надо у автора спрашивать. Еще раз, я не автор. Я первым своим ответом в этой теме задал тот же вопрос: что должен делать этот код. Товарищ @Tapochek сразу внятно ответить не смог, а я только сейчас понял что это задание Array20. из встроенного задачника. Судя по условию:
Дан массив размера N и целые числа K и L (1 ≤ K ≤ L ≤ N). Найти сумму элементов массива с номерами от K до L включительно.
А что там в задумке - я не выяснял, потому что изначально не услышал на свой вопрос ответа, а сейчас уже не знаю, нужно или нет.