Pascal. Типовые задачи на одномерные массивы

Одномерные массивы (последовательности).


  1. Задачи заполнения
  2. Задачи анализа
  3. Задачи поиска
  4. Задачи перестановки
A: 3,-4,0,3,-5,10,0
A[1]=3, A[3]=0, A[7]=0
I - номер элемента, A[I] - элемент массива, стоящий на I-ом месте
  1. 1.Сформировать и вывести на экран последовательность из n элементов, заданных датчиком случайных чисел на интервале [-23, 34].
Program posled;
Var a: array[1..100] of integer;
      i, n: integer;
Begin
  Write (‘Сколько элементов? ’);  Readln (n);
   For i=1 to n do
       begin      
            a[i]:= Random(58)-23;
             writeln (a[i],’ ‘);
       end;
End.
2. Найти произведение элементов одномерного массива, состоящего из n элементов. Элементы вводятся с клавиатуры.
Program proisveden;
Var a: array[1..100] of integer;
      i, n, p: integer;
Begin
  Write (‘Сколько элементов? ’);  Readln (n);
  p:=1;
  For i:=1 to n do
     begin
       write (‘введите число’); readln (a[i]);
       p:=p*a[i];
     end;
     writeln(‘произведение элементов равно:  ‘,p);
End.
3. Найти сумму элементов одномерного массива. Размер произвольный. Элементы вводятся с клавиатуры.
Program summa;
Var a: array[1..100] of real;
      i, n: integer;
        s: real;
Begin
  Write (‘n=’); Readln (n);
  s:=0;
  For i:=1 to n do
     begin
       write (‘введите число’); readln (a[i]);
       s:=s+a[i];
     end;
     writeln(‘сумма  элементов равна  ‘,s);
End.
4. Задан массив А, состоящий из n чисел. Найти среднее арифметическое его элементов. Элементы вводятся с клавиатуры.
Program srednee;
Var a: array[1..100] of  real;
      i, n: integer;
        s,sred: real;
Begin
  Write (‘n=’); Readln (n);
  s:=0;
  For i:=1 to n do
     begin
       write (‘введите число’); readln (a[i]);
       s:=s+a[i];
     end;
   sred:=s/n;    
  writeln(‘среднее арифметическое  элементов: ‘,s);
End.
5. Найти сумму элементов массива с четными номерами, содержащего N элементов. Элементы вводятся с клавиатуры.
Program sumshet;
Var a: array[1..100] of  real;
      i, n: integer;
        s,sred: real;
Begin
  Write (‘n=’); Readln (n);
  s:=0;
  For i:=1 to n do
     begin
       write (‘введите число’); readln (a[i]);
       if i mod 2 = 0 then s:=s+a[i];
     end;
   writeln(‘сумма элементов с четными номерами: ‘,s);
End.
6. Сформировать и вывести на экран массив, элементы которого заданы датчиком случайных чисел на интервале [-19, 26] (размер произвольный). Найти произведение элементов с нечетными номерами.
Program proisvednechet;
Var a: array[1..100] of  integer;
      i, n, p: integer;
Begin
  Write (‘Сколько элементов? ’);  Readln (n);
  P:=1;  
  For i=1 to n do
       begin      
            a[i]:= Random(46)-19;
             writeln (a[i],’ ‘);
            if i mod 2 <> 0 then P=P*a[i];
       end;
  Writeln(‘Произведение элементов с нечетными номерами:’, P);
End.
7. Сформировать и вывести на экран массив, элементы которого заданы датчиком случайных чисел на интервале [-56, 47] (размер произвольный). Найти произведение элементов с четными номерами, которые превосходят некоторое число t.
Program proisvedchetbolt;
Var a: array[1..100] of integer;
      i, n, p, t: integer;
Begin
  Write (‘Сколько элементов? ’);  Readln (n);
  P:=1;  
  For i=1 to n do
       begin      
            a[i]:= Random(104)-56;  writeln (a[i],’ ‘);
            if (i mod 2 = 0) and (a[i]>t) then P=P*a[i];
       end;
  Writeln(‘Произведение элементов с четными номерами, превосходящие число t:’, P);
End.
8. Найти наименьший элемент одномерного массива, состоящего из n элементов. Элементы вводятся с клавиатуры.
Program minim;
Var a: array[1..100] of real;
      i, n: integer;
         min: real;
Begin
  Write (‘n=’); Readln (n);
  For i:=1 to n do
    begin
       write(‘a[‘,i,’]=’); readln (a[i]);
    end;
  min:=a[1];
  For i:=2 to n do
     If a[i]< min then min:=a[i];
  Writeln(‘наименьшее число:   ‘,min);
End.
9. Найти номер наименьшего элемента в массиве, заданного датчиком случайных чисел на интервале [-20, 25]. Размер произвольный.
Program numberminim;
Var a: array[1..100] of integer;
      i, n, num, min: integer;
Begin
  Write (‘n=’); Readln (n);
  For i:=1 to n do
    begin
        a[i]:= Random(46)-20;
        writeln (a[i]);
    end;
  min:=a[1];
  num:=1;
  For i:=2 to n do
       If a[i]< min then
            begin
                min:=a[i];
                num:=i;
            end;
  Writeln(‘ номер наименьшего элемента:   ‘,num);
End.
10. В заданном одномерном  массиве, состоящем из n  целых чисел, подсчитать количество нулей.
Program  kolv0;
Var a: array[1..100] of integer;
      i, n, k: integer;
Begin
  Write (‘n=’); Readln (n);
  For i:=1 to n do
    begin
       Write(‘a[‘,i,’]=’); readln (a[i]);
       if a[i]=0 then k:=k+1;
    end;
  Writeln(‘количество 0 равно  ’, k);
end.
11. В заданном одномерном  массиве, состоящем из n  целых чисел, подсчитать количество четных элементов.
Program  kolvсchet;
Var a: array[1..100] of integer;
      i, n, k: integer;
Begin
  Write (‘n=’); Readln (n);
  For i:=1 to n do
    begin
       Write(‘a[‘,i,’]=’); readln (a[i]);
       if  a[i] mod 2=0 then k:=k+1;
    end;
  Writeln(‘количество четных элементов: ’, k);
end.
12. Найдите среднее арифметическое элементов массива, состоящего из 10 чисел, которые превышают по величине число С. Элементы вводятся с клавиатуры.
Program sredarifmet;
Var a: array[1..10] of  real;
      i, k: integer;
      C, S, sred: real;
Begin
  For i:=1 to 10 do
    begin
       write(‘a[‘,i,’]=’);     readln (a[i]);
    end;
  write(‘введите С: ‘); readln (C );
  For i:=1 to 10 do
    begin
       If a[i]>C then
           begin      S=S+a[i];     K=K+1;   end;
     end;
   sred=S/k;
   Writeln(‘среднее арифметическое чисел, превосходящих ‘,C,’  равно  ‘,sred);
End.
13. Найти произведение элементов целочисленного одномерного массива с четными номерами, состоящего из n элементов. Элементы вводятся с клавиатуры.
Program proizved_chet;
Var a: array [1..100] of integer;
   i, n, p: integer;
Begin
  p:=1;
 write ('n=');  readln (n);
  for i:=1 to n do
    begin
      write ('a[',i,']='); readln (a[i]);
      if i mod 2=0 then p:=p*a[i];
    end;
  Writeln ('произведение элементов массива с четными номерами равно ',p);
End.
14. В заданном одномерном массиве поменять местами соседние элементы.
Var
  n, i, c : integer;
  a : array [1..1000] of integer;
begin
  read (n);
   for i := 1 to n do read (a[i]);
  for i := 1 to n div 2 do
  begin
    c := a[i*2];
    a[i*2] := a[i*2-1];
    a[i*2-1] := c;
  end;
  for i := 1 to n do
    write (a[i], ' ');
end.

15. Массив А вводится с клавиатуры. Сформировать новый массив В, состоящий из четных элементов массива А. Элементы вводятся с клавиатуры. Размер n.
Program newmasiv;
Var a: array[1..100] of  integer;
       b: array[1..100] of  integer;
     n, i, k: integer;
Begin
  kol:=0; k:=0;
  write ('n=');  readln (n);
  For i:=1 to n do
    begin
       write(‘a[‘,i,’]=’);     readln (a[i]);
       if a[i] mod 2=0 then
              begin
                   k:=k+1; b[k]:=a[i]; kol:=kol+1;
              end;
          if kol=0 then writeln(‘четных элементов нет’) else    
          for k:=1 to kol do  write(‘b[‘,k,’]=’,b[k]);
    end;

Комментариев нет:

Отправить комментарий