Другие языки программирования и технологии

Паскаль... кто может помочь

Дан массив целых чисел А [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.

ИЛ
Илья Лебедев
50 704
Лучший ответ
а что, мой ответ тебя не устроил насчет 2-х чисел, а тройным циклом сумма 3-х чисел и т. д. или за тебя всю программу сделать?
¤¤¤ Роги ¤¤¤ я не умею писать программы. Если Вам не сложно. Я буду Вам благодарна.
Илья Лебедев А сумма 4-х чисел? Циклом с вложенностью 4? А сумма 5-и, 6-и, 7-и и т.д. чисел?
На паскале никогда не писал, но могу сказать какие действия нужно выполнять.