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

кто может помочь с паскаль(задачи)?

Program mas;var i,t,dob : integer;constn:40myarray=A[1..n] of integer;t:=0dob:=1for i:=1 to n do beginwriteln('ввести ел.масиву')readln(A)end;For i:=1 to n do beginif dob*A<0 then k:=k+1end;writeln('твір негат.чисел',k);end.что здесь неправильно?задача: найдите dob отрицательных цыфр в массиве c1,c2..c40
Во-первых объявления констант: CONST <ИМЯ>=<КОНСТАНТА>;
Во-вторых после каждого оператора должны стоять точка с запятой исключение является Точка с запятой перед end'ом, их можно не ставить.
В-третих в Вашей программе используять ранне не объявленние в разделе var переменные (k)
В-четвертых объявления массивов: var Mas:array [<Нижняя граница>..<Верхняя граница>] of <тип>
В-пятых обращение к элементу массива (mas) с индеском j: mas
СП
Сергей Павлов
599
Лучший ответ
1. constn:40 У константы должно быть имя constn: f=40 и объявление констант идет перед объявлениями переменных (и вообще для чего она, если в дальнейшем не используется)
2. объявление массива A: array [1..n] of integer;
3. Что такое n? Нигде не задаешь.
4. После объявления всех переменных, т. е. сама программа должна быть в begin ...end. Чего я тут не вижу.

Это так что первое бросилось в глаза
5. if dop*A[ i ] <0 - элемент массива

//-----------------------------------Вот так работает
Program mas;
constn n=40
var i,k,dob : integer;
A: array [1..n] of integer;

begin
k:=0
dob:=1
writeln('ввести ел. масиву')
for i:=1 to n do
readln(A)

For i:=1 to n do begin
if dob*A [ i ] <0 then k:=k+1
end;
writeln('твір негат. чисел',k);
end.
Давид Бочев
Давид Бочев
3 972
constn n=40;
var i : integer;
myarray=A[1..n] of integer;

for i:=1 to n do begin
writeln('ввести ел. масиву')
readln(A)
end;
For i:=1 to n do begin
if a[n]<0 then k:=k+1
end;
writeln('твір негат. чисел',k);
end.

чтото вроде того паскаля нет поэтому прверить немогу
ВЭ
Валентин Эм
3 083
if dob*A< 0 then
ты обращался не к элементу массива!! !
ставь квадратные скобки..