Другие языки программирования и технологии
Паскаль... кто может помочь
Дан массив целых чисел А [50] элементы массива случайные числа в интервале от [0..100] . определить имеются ли в этом массиве элементы сумма которых равна 200
Находит произвольное число элементов, сумма которых равна 200, и выводит их индексы и значения, если таких элементов нет то выводится сообщение.
type
ta = array [1..50] of integer;
var
m: array [1..50, 0..199] of boolean;
function IsHave200(a: ta; c, s: integer): boolean;
var
k: integer;
r: boolean;
begin
r := false;
for k := c to 50 do begin
if s + a[k] = 200 then begin
write('a[', k, ']=', a[k], ' ');
r := true;
break;
end
else if (s + a[k] < 200) and (k < 50) then begin
if not m[k, s + a[k]] then begin
r := IsHave200(a, k + 1, s + a[k]);
if r then begin
write('a[', k, ']=', a[k], ' ');
break;
end;
m[k, s + a[k]] := true;
end;
end;
end;
IsHave200 := r;
end;
var
a: ta;
c: integer;
begin
randomize;
writeln('массив: ');
for c := 1 to 50 do begin
a[c] := random(101);
write(a[c]:4);
end;
writeln;
if not IsHave200(a, 1, 0) then writeln('таких элементов нет');
end.

type
ta = array [1..50] of integer;
var
m: array [1..50, 0..199] of boolean;
function IsHave200(a: ta; c, s: integer): boolean;
var
k: integer;
r: boolean;
begin
r := false;
for k := c to 50 do begin
if s + a[k] = 200 then begin
write('a[', k, ']=', a[k], ' ');
r := true;
break;
end
else if (s + a[k] < 200) and (k < 50) then begin
if not m[k, s + a[k]] then begin
r := IsHave200(a, k + 1, s + a[k]);
if r then begin
write('a[', k, ']=', a[k], ' ');
break;
end;
m[k, s + a[k]] := true;
end;
end;
end;
IsHave200 := r;
end;
var
a: ta;
c: integer;
begin
randomize;
writeln('массив: ');
for c := 1 to 50 do begin
a[c] := random(101);
write(a[c]:4);
end;
writeln;
if not IsHave200(a, 1, 0) then writeln('таких элементов нет');
end.

а что, мой ответ тебя не устроил насчет 2-х чисел, а тройным циклом сумма 3-х чисел и т. д. или за тебя всю программу сделать?
¤¤¤ Роги ¤¤¤
я не умею писать программы. Если Вам не сложно. Я буду Вам благодарна.
Илья Лебедев
А сумма 4-х чисел? Циклом с вложенностью 4? А сумма 5-и, 6-и, 7-и и т.д. чисел?
На паскале никогда не писал, но могу сказать какие действия нужно выполнять.
Похожие вопросы
- Нужно написать программы в Паскале! Массивы! Срочно! Помогите!
- кто разбирается в паскале??У мя турбо паскаль 7.0 помогите!!!
- Паскаль написать программу помогите. срочно. Пожалуйста
- РЕбят посмотрите програмку пожалуйста!На паскале, может кто поможет с решением!?
- вычислить ряд 1/2+1/3+1/4... с точностью 0,1 в Турбо Паскаль. срочно, пожалуйста помогите!!!
- Какими кодами можно создать txt файл в турбо паскале с текстом? Помогите пожалуйста
- Товарищи программисты на Delphi и Pascal помогите девушке!!!)) вопрос глупый..насчет паскаля..
- Программа на паскале! Помогите(бесплатно)
- Помогите записать на языке паскаля.
- ПОМОГИТЕ С ЗАДАЧАМИ В ПАСКАЛЕ