М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
А22222222
А22222222
07.11.2022 05:01 •  Информатика

Спрограммной на паскале, ) используя следующий фрагмент программы, опишите перечисленные ниже функции: type name = (аня, валя, женя, петя, саша, таня, шура, юра); information = record pol : (man, woman); height : 140..200 end; group = array [name] of information; а) функция средрост( гр ) определяет средний рост женщин из группы гр; б) функция высокий( гр ) определяет имя самого высокого мужчины из группы гр; в) логическая функция одинрост( гр ) проверяет, есть ли в группе гр хотя бы два человека одинакового роста.

👇
Ответ:
kvasik032
kvasik032
07.11.2022
Type
  name=(Anya,Valya,Zhenya,Petya,Sasha,Tanya,Shura,Yura);
  gender=(man,woman);
  information=record
    pol:gender;
    height:140..200
    end;
  group=array[Anya..Yura] of information;

function SrRost(var Gr:group):single;
var
  i:name;
  s:single;
  n:integer;
begin
  s:=0; n:=0;
  for i:=Anya to Yura do
  begin s:=s+Gr[i].height; Inc(n) end;
  SrRost:=s/n
end;

function Vysokiy(var Gr:group):string;
var
  i,j:name;
  h:integer;
begin
  h:=Gr[Anya].height; j:=Anya;
  for i:=Valya to Yura do
  begin
    if Gr[i].height>h then
    begin h:=Gr[i].height; j:=i end
  end;
  Vysokiy:=j.ToString
end;

function OdinRost(var Gr:group):boolean;
var
  i,j:name;
  flag:boolean;
begin
  i:=Anya; flag:=false;
  repeat
    j:=Succ(i);
    while (not flag) and (j<=Yura) do
    begin flag:=(Gr[i].height<>Gr[j].height); Inc(j) end;
    flag:=(Gr[i].height<>Gr[j].height);
    if not flag then Inc(i);
  until flag or (i=Yura);
  OdinRost:=flag
end;

var
  Grp:group;
  i:name;
  g:0..1;
begin
  { ввод данных }
  for i:=Anya to Yura do
  begin
    Write(i.ToString+': укажите пол м/ж числом 0/1 ');
    Readln(g);
    if g=0 then Grp[i].pol:=man else Grp[i].pol:=woman;
    Write(i.ToString+': укажите рост, см (140-200) ');
    Readln(Grp[i].height)
  end;
  { вычисления }
  Writeln('Средний рост равен ',SrRost(Grp):0:1);
  Writeln('Наиболее высокий человек - ',Vysokiy(Grp));
  If OdinRost(Grp) then Writeln('Есть минимум два человека одного роста')
  else Writeln('У всех в группе разный рост');
end.

Тестовое решение:
Anya: укажите пол м/ж числом 0/1 1
Anya: укажите рост, см (140-200) 165
Valya: укажите пол м/ж числом 0/1 1
Valya: укажите рост, см (140-200) 170
Zhenya: укажите пол м/ж числом 0/1 0
Zhenya: укажите рост, см (140-200) 173
Petya: укажите пол м/ж числом 0/1 0
Petya: укажите рост, см (140-200) 178
Sasha: укажите пол м/ж числом 0/1 0
Sasha: укажите рост, см (140-200) 176
Tanya: укажите пол м/ж числом 0/1 1
Tanya: укажите рост, см (140-200) 170
Shura: укажите пол м/ж числом 0/1 1
Shura: укажите рост, см (140-200) 168
Yura: укажите пол м/ж числом 0/1 0
Yura: укажите рост, см (140-200) 175
Средний рост равен 171.9
Наиболее высокий человек - Petya
Есть минимум два человека одного роста
4,6(31 оценок)
Открыть все ответы
Ответ:
yarikkuisluiy
yarikkuisluiy
07.11.2022
// PascalABC.NET 3.1, сборка 1218 от 12.04.2016
begin
  var m,n:integer;
  Write('Количество строк и столбцов матрицы: ');
  Read(n,m);
  var a:=MatrixRandom(n,m,10,99);
  for var i:=0 to n-1 do begin
    for var j:=0 to m-1 do Print(a[i,j]);
    Writeln
    end;
  var p:=ReadInteger('Введите число Р:');
  var b:array of integer;
  SetLength(b,4*m);
  var k:=0;
  for var i:=n-p to n-1 do
    for var j:=0 to m-1 do
      if a[i,j] mod 4=0 then begin
        b[k]:=a[i,j]; Inc(k)
        end;
  SetLength(b,k);
  b.Print
end.

Тестовое решение:
Количество строк и столбцов матрицы: 6 8
67 70 68 72 38 72 96 38
49 75 24 55 72 63 21 40
72 12 60 22 74 30 13 45
22 45 39 24 35 97 64 31
76 62 15 94 56 28 31 13
41 67 75 37 67 13 25 20
Введите число Р: 4
72 12 60 24 64 76 56 28 20
4,5(1 оценок)
Ответ:
vaniafc007
vaniafc007
07.11.2022
#include <iostream>
#include <cstdlib>
#include <vector>
using namespace std;

int main()
{
vector<int> v;
cout <<"Укажите размер массива: ";
int s;
cin >>s;
srand(time(0));
for(int i=0; i!=s; ++i)
v.push_back(rand()%100);
int find;
cout <<"Введите число для поиска: ";
cin >>find;
bool founded = false;
for(auto it=v.begin(); it!=v.end(); ++it)
if(*it==find) founded=true;
if(founded)
cout <<"Это число есть в массиве!" <<endl;
else cout <<"Такого числа нет в мвссиве!" <<endl;

return 0;
}
4,7(46 оценок)
Новые ответы от MOGZ: Информатика
Полный доступ к MOGZ
Живи умнее Безлимитный доступ к MOGZ Оформи подписку
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ