Информатика, вопрос задал kristinakristi6 , 9 лет назад

Решите, пожалуйста, в паскале.
1) Одномерный массив из 10 элементов задан датчиком случайных чисел на интервале от -1 до 6. Найти произведение квадратов отрицательных элементов массива, массив вывести в строку.
2) Одномерный массив задан формулой A[i]=21-1. Найти полу сумму элементов массива.

Ответы на вопрос

Ответил srzontmp
0
var a: array[1..10] of integer;
    i,s: integer;
    priz: boolean;
begin
  randomize;
  write('массив:  ');  s:=1;
  priz:=false;
  for i:=1 to 10 do
   begin
    a[i]:=random(-1,6);
    write(a[i],' ');
    if a[i]<0 then
    begin
      s:=s*sqr(a[i]);
      priz:=true;
    end;
    end;
  writeln;
  if priz then    writeln('произв. квадратов отрицат. элем. = ',s)
  else writeln('нет отрицательных элементов');
  end.

Ответил srzontmp
0
var a: array of integer;
    i,n,s: integer;
    ps: real;
begin
  write('кол-во элементов массива:  ');
  readln(n);   setlength(a,n+1);
  write('массив:  ');  s:=0;
  for i:=1 to n do 
  begin
    a[i]:=2*i-1;
    write(a[i],' ');
    s:=s+a[i];
  end;
  writeln;  ps:=s/2;
  writeln('полусумма элементов = ',ps);  
end.
Ответил srzontmp
0
Без boolean  и   priz  будет так:    var a: array[1..10] of integer;
    i,s,j: integer;
begin
  randomize;
  write('массив:  ');  s:=1;  j:=0;
  for i:=1 to 10 do
   begin
    a[i]:=random(-1,6);
    write(a[i],' ');
    if a[i]<0 then
    begin
      s:=s*sqr(a[i]);
      j:=1;
    end;
    end;
  writeln;
  if j>0 then    writeln('произв. квадратов отрицат. элем. = ',s)
  else writeln('нет отрицательных элементов');
  end.
Ответил Аноним
0
Ну и каков результат? Сбылось мое пророчество - всегда будет получаться 0 или 1???  
Ответил kristinakristi6
0
А что значит j?
Ответил kristinakristi6
0
А во второй задаче можно без setlength
Новые вопросы