В
Все
Б
Биология
Б
Беларуская мова
У
Українська мова
А
Алгебра
Р
Русский язык
О
ОБЖ
И
История
Ф
Физика
Қ
Қазақ тiлi
О
Окружающий мир
Э
Экономика
Н
Немецкий язык
Х
Химия
П
Право
П
Психология
Д
Другие предметы
Л
Литература
Г
География
Ф
Французский язык
М
Математика
М
Музыка
А
Английский язык
М
МХК
У
Українська література
И
Информатика
О
Обществознание
Г
Геометрия
3743Dasha
3743Dasha
14.05.2022 16:41 •  Информатика

Обчислити площу трикутника за формулою герона

Показать ответ
Ответ:
millizza11
millizza11
19.03.2021 05:09

Program Mazoff1;
uses crt;
var
  a,b: array [1..5] of integer;//Массивы А и В
  c:array [1..10] of integer;//Массив С
  i,j:integer;//счетчики
begin
  randomize;
  j:=0;
  for i:=1 to 5 do
    begin
      a[i]:=random(101)-50;//заполняем массивы
      b[i]:=random(101)-50;//случайными числами от -50 до 50
    end;
    for i:=1 to 5 do
    begin
      write(a[i],' '):5;//выводим массивы А и В в столбик
      writeln(b[i]):5;
    end;
  for i:=1 to 5 do
    begin
     if a[i]>0 then //проверяем текущий элелмент массива А
       begin        
        j:=j+1;     //если он положительный, увеличиваем счетчик на 1
        c[j]:=a[i]; //и добавляем этот элемент в массив С
    end;
     if b[i] mod 2 <> 0 then  //проверяем текущий элелмент массива В
       begin
       j:=j+1;            //если он чётный, увеличиваем счетчик на 1
       c[j]:=b[i];        //и добавляем этот элемент в массив С
     end;
end;
  writeln('Всего в массиве С ',j,' элементов: ');
  for i:=1 to j do
    writeln(c[i]);
end.

 

Program Mazoff2;
uses crt;
const n = 20;
var
  mas:array [1..n] of real;//Массив данных
  i,j:integer;//счетчики
  ur,pl: real;//урожай и площадь
begin
  randomize;
  for i:=1 to n do
    begin
      mas[i]:=random(101);//заполняем массив
    end;
    j:=1;
    ur:=0;
    pl:=0;
    while j<=n do
    begin
      ur:=ur+mas[j]*mas[j+1];
      pl:=pl+mas[j+1];
      j:=j+2;
    end;
  writeln('Всего собрано ',ur,' тонн с общей площади ',pl,' га.');
  writeln('Средняя урожайность равна ',ur/pl:3:2);
end.

 

 

Кстати, программа Димана добавляет сначала все нужные элементы из массива А, а только потом - из массива В. А в условии задачи сказано: "попеременно"

0,0(0 оценок)
Ответ:
inpurple
inpurple
01.05.2023 22:14

1) добавь строку для вывода результата в отдельном окне:
uses crt;
2) Размерность массива лучше сразу задать с пмомщью констант - потом если нужно будет решить ту же задачу для другого массива, просто поменяешь её на новую:
const n=10;
const m=10;
3) описание массива через константы:
a:array[1..n,1..m] of integer;  
4) после приглашения writeln ('vvedite chislo n') должен быть оператор readln. Но представь себе ситуацию: ты описал массив a:array[1..10,1..10], а пользователь ввёл n=12? Тогда обращение к a[12,1] выдаст ошибку. Поэтому лучше не просить вводить n и m вообще, а использовать const
5) пропущен оператор readln:
writeln ('vvedite elementu massiva',i,j);
если в условии задачи не сказано явно вводить с клавиатруы значения массива, лучше заполнять массив с вводить 100 чисел надоедает!)
randomize;
for i:=1 to n do
  for j:=1 to m do
      a[i,j]:=random(100);
6) перед тем , как просматривать весь массив в поисках мин и макс элементов, надо задать начальное значение min и max:
max:= a[1,1];
min:= a[1,1];
(дальше цикл поиска у тебя организован правильно)
7) writeln('max','min') - такая строка всегда печатает "maxmin"
Надо так:
writeln('max=',max,'   min=',min);
8) для наглядности можно вывести массив перед тем, как выводить max и min. Можно использовать тот же цикл, что и для поиска:
   write(a[i,j]:5); (здесь ":5" задаёт ширину вывода - на каждое число отводится 5 позиций)
9) скачай и установи себе PascalABC и запускай каждую написанную прогрмму - иначе не научишься.
 
В итоге получим:
Program zaza;
uses crt;
const n=10;
const m=10;
var
  i,j,max,min:integer;
  a:array[1..n,1..m] of integer;
begin
  randomize;
  for i:=1 to n do
    for j:=1 to m do
      a[i,j]:=random(100); {задаёт случайное число от 0 до 99}
  max:= a[1,1];
  min:= a[1,1];
  for i:=1 to n do
    begin
      for j:=1 to m do
        begin
          if a[i,j] > max then
            max:= a[i,j];
          if a[i,j] < min then
            min:=a[i,j];
          write(a[i,j]:5);  
        end;
      writeln(); {выводит пустую строку "для красоты"}
    end;
  writeln();
  writeln('max=',max,'   min=',min);
end.

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота