profile
Опубликовано 5 лет назад по предмету Информатика от котэнок

все элементы заданного массива вещественных чисел A(N),начиная с первого по порядку элемента, уменьшить на единицу.Новый массив переписать в S(N).

ПОМОГИТЕ ПОЖАЛУЙСТААААААА:*

 

 

 

  1. Ответ
    Ответ дан yasadc
    uses crt;
    const n=20;
    var a:array[1..n] of integer;
    s:array[1..n] of integer;
    i,j:integer;
    begin
    randomize;
    for i:=1 to n do
    begin
    a[i]:=random(20);
    write(a[i]:3);
    end;
    writeln;
    for i:=1 to n do
    a[i]:=a[i]-1;
    for j:=1 to n do
    for i:=1 to n do
    if i=j then s[j]:=a[i];
    for j:=1 to n do
    write(s[j]:3);
    end.

    1. Ответ
      Ответ дан affeqt
      for j:=1 to n do
      for i:=1 to n do
      if i=j then s[j]:=a[i];

      Понимаете ли, у вас вот это вложение циклов - проклятие оптимизации:) зачем прогонять пару циклов с проверкой на совпадение индексов, если можно загнать их под один цикл, где индексы всегда равны будут?
    2. Ответ
      Ответ дан yasadc
      хорошо, я с вами соглашусь)
  2. Ответ
    Ответ дан affeqt
    program task;

    var  i,n:longint;
    a:array [0..10000] of real;
    s:array [0..10000] of real;
    beginwriteln('skolko elementov v massive?');
    readln(n);
    for i:=1 to n do begin
    a[i]:=random(100);
    end;
    for i:=1 to n do begin
    s[i]:=a[i]-1;
    end;
    for i:=1 to n do begin
    writeln(s[i]:0:0);
    end;
    readln;
    end.


    //даже если расписывать всё и вся, что можно - получается так.