Другие языки программирования и технологии
Задача по паскалю. Массивы
задача:ввести с клавиатуры массив из 5 эл-тов, найти среднее арифметическое всех элементов массива. неск-ко вопросов: 1) не сказано,в каком диапазоне брать элементы. Как тогда в разделе var задавать массив? обычно же array [1..n] of integer, а тут как?ведь не от единицы.. 2)как найти среднее арифметическое?))я сделала примерно так,но это,скорее всего,неверно: Program z1; const n=5; Var: M:array[1..n] of integer; i,S,F:integer; Begin Writeln('введи 5 эл-тов массива'); Readln(n); for i:=1 to n do Begin s:= M + M[i+1]; end; F:=S/5; Write('среднее арифметическое=',F); end.
Program Massiv;
var a:array[1..5] of integer;
i,s:integer;
f:real;
begin
s:=0;
for i:=1 to 5 do begin
readln(a);
s:=s+a
end;
f:=s/5;
writeln(f:6:4);
readln
end.
Вот программа. Ничего сложного.
Главные ошибке:
Нельзя считывать константу;
Конечный результат должен быть присвоен переменной типа real,
т. к. операция "/" возвращает вещественные значения.
var a:array[1..5] of integer;
i,s:integer;
f:real;
begin
s:=0;
for i:=1 to 5 do begin
readln(a);
s:=s+a
end;
f:=s/5;
writeln(f:6:4);
readln
end.
Вот программа. Ничего сложного.
Главные ошибке:
Нельзя считывать константу;
Конечный результат должен быть присвоен переменной типа real,
т. к. операция "/" возвращает вещественные значения.
Сергей Сарычев
Многие предыдущие ответы и программы неправильные.
Readln(n);
Ты собралась считать с клавиатуры КОНСТАНТУ - вот что меня больше всего беспокоит.. .
А среднее арифметическое находится элементарно, но проблема-то не в этом.
Ты собралась считать с клавиатуры КОНСТАНТУ - вот что меня больше всего беспокоит.. .
А среднее арифметическое находится элементарно, но проблема-то не в этом.
вам просто по этому разделу пройтись.. . я каждый день тут вопросы про эти массивы на паскале читаю. . если честно достает временами!
Вместо:
for i:=1 to n do
Begin
s:= M[ i ] + M[i+1];
end;
F:=S/5;
Правильно будет так:
S := 0;
for i:=1 to n do S := S + M[ i ];
F:=S/n;
Только переменная F должна быть не Integer, а Real
for i:=1 to n do
Begin
s:= M[ i ] + M[i+1];
end;
F:=S/5;
Правильно будет так:
S := 0;
for i:=1 to n do S := S + M[ i ];
F:=S/n;
Только переменная F должна быть не Integer, а Real
> не сказано, в каком диапазоне брать элементы
Не сказано - значит бери в любом, руки при этом у тебя развязаны, и пусть только препод вякнет что-то против) )
> это, скорее всего, неверно
Конечно неверно)
Оператор деления "/" неприменим к результирующим данным целочисленных типов - он применим только к вещественным.
Не сказано - значит бери в любом, руки при этом у тебя развязаны, и пусть только препод вякнет что-то против) )
> это, скорее всего, неверно
Конечно неверно)
Оператор деления "/" неприменим к результирующим данным целочисленных типов - он применим только к вещественным.
1) раз не сказано, какими могут быть элементы, то лучше их брать типа real, а не integer. а диапазон индексов может быть любым, как вам больше нравится или удобно, лишь бы было 5 значений: 1..5, 0..4, 8..12, 'a'..'e'
2) среднее арифметическое = сумма всех делить на количество всех
Program z1;
cоnst n=5;
Var: M:array[1..n] of real; i: integer; S,F:real;
Begin
Writeln('введи 5 эл-тов массива');
for i:=1 to n do
read (M[ i ]);
s:=0;
for i:=1 to 5 do
s:= s + M[ i ];
F:=S/5;
Write('среднее арифметическое=',F);
end.
2) среднее арифметическое = сумма всех делить на количество всех
Program z1;
cоnst n=5;
Var: M:array[1..n] of real; i: integer; S,F:real;
Begin
Writeln('введи 5 эл-тов массива');
for i:=1 to n do
read (M[ i ]);
s:=0;
for i:=1 to 5 do
s:= s + M[ i ];
F:=S/5;
Write('среднее арифметическое=',F);
end.
Program z1;
var I:integer; s:real;
a:array [1..5] of integer;
begin
for I:=1 to 5 do read(a);
s:=0;
for I:=1 to 5 do
s:=s+a;
s:=s/5;
writeln(s);
end.
ВОТ ТАК.
var I:integer; s:real;
a:array [1..5] of integer;
begin
for I:=1 to 5 do read(a);
s:=0;
for I:=1 to 5 do
s:=s+a;
s:=s/5;
writeln(s);
end.
ВОТ ТАК.
Дмитрий Агапов
Так у меня же массив не A,а М
независимо от имени массива через а итое считается что ли?
независимо от имени массива через а итое считается что ли?
Дмитрий Агапов
спасибо!)
Пиши в скайп volkodav1993
По вспоминаю паскаль =D
По вспоминаю паскаль =D
такое никто тут нерешит вам...
Дмитрий Агапов
почему?
Это же вроде не сложно..просто новая тема,не до конца въехала=\
Это же вроде не сложно..просто новая тема,не до конца въехала=\
Похожие вопросы
- Помогите решить задачу по паскалю на двумерные массивы.
- Помогите,пожалуйста,решить задачу на двумерные массивы,в паскале.(задача вн.)Спасибо.
- Помогите решить задачу по информатике. Массивы. Язык программирования Паскаль.
- Паскаль Массивы
- Нужно написать программы в Паскале! Массивы! Срочно! Помогите!
- Pascal. Помогите пожалуйста решить задачу в паскале !
- Задача - описать класс "Массив" с параметрами: длина массива, указатель на первый элемент массива
- кто может решить и кому не лень помогите с задачей по паскалю, сам плохо с двумерными массивами лажу
- ПОМОГИТЕ С ЗАДАЧАМИ В ПАСКАЛЕ
- Паскаль, массивы. Помогите!