СРОЧНО нужна ПОМОЩЬ. Задали слишком много для Паскаля. Ничего не успеваю. Буду благодарна...

0 голосов


СРОЧНО нужна ПОМОЩЬ.

Задали слишком много для Паскаля. Ничего не успеваю. Буду благодарна хотя бы за несколько задач. Стоимость всего 35 баллов. Массивы. Обработка массива.



1. Задать, с помощью датчика случайных чисел одномерный
вещественный массив с именем H, состоящий из
десяти элементов и сложить все отрицательные элементы.


2. Задать, вводом с клавиатуры двумерный целый массив с
именем H, состоящий из трёх строк и четырёх столбцов и
перемножить все ненулевые элементы.


3. Задать вводом с клавиатуры строковый массив D[1 .. 4] и
подсчитать, сколько слов имеют вторую
букву О.


4. Задать вводом с клавиатуры массивы В[1 .. 4], где
записаны фамилии участников соревнования, и А[1 .. 4], где записано
время пробега каждого. Вывести на экран фамилию победителя и результат.





спросил от Начинающий (158 баллов) в категории Информатика
1 Ответ
0 голосов
ответил от Архангел (142k баллов)
 
Лучший ответ

Const
  n = 10;

var
  h: array[1..n] of real;
  i: integer;
  s: real;

begin
  Randomize;
  Write('Элементы массива: ');
  s := 0;
  for i := 1 to n do
  begin
    h[i] := (100 * Random - 50) / 3;
    Write(h[i]:0:3, ' ');
    if h[i] < 0 then s := s + h[i]
  end;
  Writeln(#13#10, 'сумма отрицательных элементов равна ', s:0:3)
end.

Тестовое решение:

Элементы массива: 9.159 -12.427 11.448 -7.493 -12.976 -2.252 9.923 -4.759 -7.867 5.567
сумма отрицательных элементов равна -47.774

const
  m = 3;
  n = 4;

var
  h: array[1..m, 1..n] of real;
  i, j: integer;
  p: real;

begin
  p := 1;
  for i := 1 to m do
  begin
    Write('Введите через пробел элементы строки ', i, ': ');
    for j := 1 to n do
    begin
      Read(h[i, j]);
      if h[i, j] <> 0 then p := p * h[i, j]
    end
  end;
  Writeln('Произведение ненулевых элементов равно ', p:0:3)
end.

Тестовое решение:

Введите через пробел элементы строки 1: -2.1 3.7 0.46 17
Введите через пробел элементы строки 2: -3.54 0 11.7 2.222
Введите через пробел элементы строки 3: 3 -5.1 -4.7 0
Произведение ненулевых элементов равно 402114.968

const
  n = 4;

var
  i, k: integer;
  d: array[1..n] of string;

begin
  k := 0;
  for i := 1 to n do
  begin
    Write('Введите слово ', i, ': ');
    Readln(d[i]);
    if (d[i][2]='о') then k:= k + 1
  end;
  Writeln('Количество слов со второй буквой "о" равно ', k)
end.

Тестовое решение:

Введите слово 1: Информатика
Введите слово 2: Компьютер
Введите слово 3: Процессор
Введите слово 4: Монитор
Количество слов со второй буквой "о" равно 2

const
  n = 4;

var
  i, imin: integer;
  A: array[1..n] of real;
  B: array[1..n] of string;
  min: real;

begin
  min := 1000;
  for i := 1 to n do
  begin
    Write('Введите фамилиию участника ', i, ': ');
    Readln(B[i]);
    Write('Введите время участника ', i, ': ');
    Readln(A[i]);
    if A[i] < min then begin min := a[i]; imin := i end;
  end;
  Writeln('Лучшее время ', a[imin], ' у участника ', b[imin])
end.

Тестовое решение:

Введите фамилиию участника 1: Иванов
Введите время участника 1: 8.3
Введите фамилиию участника 2: Петров
Введите время участника 2: 7.9
Введите фамилиию участника 3: Сидоров
Введите время участника 3: 8.7
Введите фамилиию участника 4: Васечкин
Введите время участника 4: 8.0
Лучшее время 7.9 у участника Петров









оставил комментарий от Начинающий (158 баллов)

Большое спасибо))))))))))

оставил комментарий от Архангел (142k баллов)

Величину "спасибо" тут принято оценивать количеством звездочек))

оставил комментарий от Начинающий (158 баллов)

хорошо, тогда....

оставил комментарий от Архангел (142k баллов)

))

...