Пожалуста помогите с решение задачи!
Составьте программу для задания одномерного массива А из n(n) произвольных целых чисел
и вывода следующих сумм:
1.a(1)+a(2)
a(3)+a(4)
a(n-1)+a(n)
2.a(1)+a(n)
a(2)+a(n-1)
a(n/2)+a(n/2+1)
найти сумму всех элементов
наити произведение
найти макс. элемент массива
найти последний положительный элемент массива
Program pr1;
uses crt;
var
a:array [1..100] of byte;
s1,n:integer;
b,i:integer;
begin
clrscr;
write('11111');
readln(i);
for b:=1 to i do
begin
(b):=Random(100)-50;
write(a[b]);
end;
S1:=(a[1]+a[2]);
writeln(s1);
s1:=(a[3]+a[4]);
writeln(s1);
s1:=(a[i-1]+a[n]);
writeln(S1);
S1:=(A[1]+A[i]);
writeln(S1);
s1:=(a[2]+a[i-1]);
writeln(s1);
s1:=(a[i div 2]+a[i div 2+1]);
writeln(S1);
s1:=0;
for b:=i-1 to i do
begin S1:=S1+(A[b]);
end;
write(S1); s1:=1;
for b:=1 to i do;
begin
s1:=s1*(a[b]);
end;
Writeln(s1);
S1:=0;
For b:=1 to i do
begin if (a[b])>s1 then s1:=(a[b]);
end;
writeln(s1);
s1:=0;
for b:=1 to i do
begin if (a[b])>0 then S1:=(A[b]);
end;
writeln(s1);
readkey;
end.
да нужно рандомно.
Тогда тебе http://forum.pascal.net.ru/index.php?showtopic=2694
к стати спасибо за ссылку! прошлой программы помогла!
пока набрал, испытал... опоздал...
{а сам пробывал?
если n константа, то задаешь массив... проходиш циклом по массиву(я бы советовал циклом со встроенным счетчиком) и задаешь в теле текущему члену случайное число(процедура rand0m(m), где m - максимальное число)... только не забудь не забудь в начале программы написать rand0mize(иначе все элементы будут одинаковы!). итак массив у нас есть. теперь с суммой(покажу на примере, думаю поймешь write(a[1]+a[n-4]);
что не ясно, спрашивай...}
const
n =5; // здесь ставишь свою константу
var
i:integer;
s:longint;
a:array[0..n]of integer;
begin
randomize;
for i:=0 to (n-1) do
a[i]:=random(2*n)-n;//поидии так
WriteLn(a[1]+a[2]);
WriteLn(a[3]+a[4]);
WriteLn(a[n-1]+a[n]);
WriteLn(a[1]+a[n]);
WriteLn(a[2]+a[n-1]);
//пропущенно
s:=0;
for i:=0 to (n-1) do
s:=s+a[i];
WriteLn(s);
s:=0;
for i:=0 to (n-1) do
s:=s*a[i];
WriteLn(s);
i:=n;
while (i<>0) and (s=0) do begin
inc(i, -1);
if a[i]>0 then begin
s:=1;
writeln(a[i]);
end;
end;
readln;
read;
end.
вот как я сделал
Program Pr1;
uses crt;
const
n=5;
var
a:array[0..n] of integer;
i:integer;
s:longint;
begin
clrscr;
randomize;
for i:=0 to (n-1) do
a[i]:=random(2*n)-n;
writeln(' ___________');
WriteLn(' ',a[1]+a[2]);
WriteLn(' ',a[3]+a[4]);
WriteLn(' ',a[n-1]+a[n]);
writeln(' ___________');
WriteLn(' ',a[1]+a[n]);
WriteLn(' ',a[2]+a[n-1]);
writeln(' ',a[i div 2]+a[i div 2+1]);
writeln(' ___________');
s:=0;
for i:=0 to (n-1) do
s:=s+a[i];
WriteLn(s);
s:=0;
for i:=0 to (n-1) do
s:=s*a[i];
WriteLn(s);
readln;
i:=n;
while (i<>0) and (s=0) do begin
inc(i, -1);
if a[i]>0 then begin
s:=1;
writeln(a[i]);
end;
end;
read;
end.
Спасибо за разъеснение! щас буду доделавать домашнее задание!