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

Кто знает помогите написать на Турбо Паскале

Ввести В память одномерный целочисленный массив Аn
n-количество элементов тоже ввести с клавиатуры.
1) Найти сумму отрицательных чисел массива.
2) Номера элементов массива больше на перед заданного числа А1
Ключевые слова в вопросе "Турбо Паскаль" и "количество элементов вводится с клавиатуры". Здесь был совет насчет SetLength(), только вот засада, в ТР никогда не было динамических массивов и при необходимости их надо организовывать самому. Ладно, вот код. Попробуйте объяснить его препу.

{$R-} {отключаем проверку компилятором границ массива}

type
arrInt = array[1..1] of Integer; {массив из 1 элемента, как ни странно}
arrIntPtr = ^arrInt;

var
a : arrIntPtr; {указатель на динамический массив}
n, j : Integer;
SumNeg, A1 : Integer;

begin
Write('Введите размер массива: ');
ReadLn(n);

GetMem(a, n * SizeOf(Integer));

WriteLn('Исходный массив');
for j:=1 to n do begin
a^[j] := Random(100) - 50;
Write(a^[j]:4);
end;
WriteLn;

{функционал}
Write('Введите число А1: ');
ReadLn(A1);
WriteLn;

SumNeg := 0;
WriteLn('Номера элементов массива больше на перед заданного числа А1'); {орфография автора сохранена :)}
for j:=1 to n do begin
if a^[j] < 0 then Inc(SumNeg, a^[j]);
if a^[j] > A1 then Write(j);
end;
WriteLn('Сумма отрицательных элементов: ', SumNeg);

FreeMem(a, n * SizeOf(Integer));

ReadLn;
end.

Примерно так...
Антон Трочук
Антон Трочук
59 614
Лучший ответ
count:=0;
for i:=1 to N do
begin
if X[ i]<0 then inc(count);
if X[ i] > A1 then write (i:3);
end;
2. в цикле for i:=1 to n do if a [ i ] > a1 then writeln(i);
Lazary
Lazary
95 933
программ
н -
п-
с-
р-
Бегин
фор с = 1 то п
врайте ( введите элемент: ) ;
ридл (н [1])
енд;
write ( you passibl wery wery good
lehrnen schule doutche schprechen,
danke schoon)
end
end
end
Andrey Peshtich
Andrey Peshtich
53 555
Учись сам решать.
Вот раньше было время, когда инета не было у всех. Сами все решали, а сейчас, школота обленилась!
Bilim Esenjanov
Bilim Esenjanov
3 703
незнаю турбо паскаль (
Все очень просто. сначала циклом или рандомом заполняешь массив.
Потом если меньше нуля то плюсуешь в переменную.
Evgeny ...
Evgeny ...
1 015
Ну элементарно же. Считываешь n с клавиатуры, выделяешь память на n элементов, затем заполняешь массив, после чего в цикле считаешь сумму отр. элеиентов.
Как в пвсуале динамически выделять память не помню точно, но в делфи есть процедура SetLength(массив, кол. элементов) . А объявляется он как-то так: Arr: array of Integer;
Всё остальное по-моему элементарно.
На счет второго задания ничего сказать не могу, ибо я его не понял.
AK
Albert Kulumbetov
265