Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ Снова задача про массивы

Автор: goosberry 2.07.2008 11:51

Даны массивы a и b из N вещественных чисел. Составить массив c, содержащий номера таких элементов массива a, значения которых больше модуля разности первого и последнего элментов массива b.
Вот такая у меня ерунда получилась, и как всегда, с ошибками... В голове уже всё перепуталось...

 
program zadacha;
uses crt;
var a: array [1..N] of real;
b: array [1..N] of real;
c: array [1..K] of integer;
I,N,K: integer;
R: real;
begin clrscr;
write (‘Размер массивов a b’);
readln (N);
write (‘Введите массив a’);
for i:=1 to N do readln (a[i]);
write (‘Введите массив b’);
for i:=1 to N do readln (b[i]);
R:=b[1]-b[N];
R:=ABS ®;
for i:=1 to N do begin
if a[i]>R then begin c[i]:=I; K:=K+1; end;end;
for i:= 1 to K do writeln (c[i]);
readkey;
end.

.
Заранее спасибо.

Автор: samec 2.07.2008 12:25

вот так будет по правильней:

 
program zadacha;
uses crt;
CONST G=20; {задаём максимальную размерность массивов a и b}
var
a: array [1..G] of real;
b: array [1..G] of real;
c: array [1..G] of integer;
I,N,K: integer;
R: real;
begin
clrscr;
write (‘Размер массивов a b’);
repeat {вводим размерность массивов а и b и проверяем, чтобы она не превышала максимальную размерность}
readln (N);
until(N<=G);
write (‘Введите массив a’);
for i:=1 to N do readln (a[i]);
write (‘Введите массив b’);
for i:=1 to N do readln (b[i]);
R:=b[1]-b[N];
R:=ABS ®;
k=0; {в начале в массиве С - 0 элементов}
for i:=1 to N do
if a[i]>R then
begin
inc(k); {увеличиваем счетчик элементов в массиве С}
c[k]:=I;
end;
for i:= 1 to K do writeln (c[i]);
readkey;
end.


Автор: goosberry 2.07.2008 16:59

smile.gif Спасибочки good.gif