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

Нужно составить программу на языке паскаль для решения такой : поиск двух учащихся школы,у которых совпадает имя?

👇
Ответ:
nastyahanna4728
nastyahanna4728
26.05.2020

Вы не указали как хранятся данные о студентах и как осуществляется ввод. Попробуйте так, хотя я уже давно в Паскале не писала.

 

program pr1;

procedure CreateMass(var str:mass; n:integer);
var i:integer;
begin
  for i:=1 to n do begin
  write('Введите имя учащегося: ');
  readln(str[i])
  end
end;

procedure SearchN (str:mass; n:integer);
var i, j, s1, s2:integer;
    b:boolean;
begin
  b:=false;
  j:=1;
  while (j <= (n-1)) and (not b) do
  begin
    for i:=j+1 to n do
    begin
      if str[j]=str[i] then
      begin
        b:=true;
        s1:=i;
        s2:=j
      end
    end;
    j:=j+1
  end;
  if (not b) then writeln('Нет двух студентов с одинаковыми именами.') else
  writeln('Студенты с одинаковыми именами - ',str[s1], ' находятся в массиве под номерами ', s1, ' и ', s2, '.')
end;

type mass = array [1..n] of string;
const n = 10;
var str:mass;
begin
  CreateMass(str, n);
  SearchN(str, n)
end.

4,7(36 оценок)
Открыть все ответы
Ответ:
kholdingmedia
kholdingmedia
26.05.2020
Const
  n=7;
type
  V=array[1..n] of real;
procedure mReplace(t:real;var a:V;var k:integer);
var
  i:integer;
begin
  k:=0;
  for i:=1 to n do
    if a[i]<t then begin a[i]:=t; Inc(k) end
end;

var
  T:real;
  i,k1,k2:integer;
  P,C:V;
begin
  Write('Введите значение T: '); Read(T);
  Writeln('Введите элементы массива P');
  for i:=1 to n do Read(P[i]);
  Writeln('Введите элементы массива C');
  for i:=1 to n do Read(C[i]);
  mReplace(T,P,k1); mReplace(T,C,k2);
  if k1>k2 then
  begin
    Writeln('Измененнный массив Р'); for i:=1 to n do Write(P[i],' ')
  end
  else
    if k2>k1 then
  begin
    Writeln('Измененнный массив C'); for i:=1 to n do Write(C[i],' ')
  end
  else Writeln('Число замен в массивах равно ',k1)
end.

Тестовое решение:
Введите значение T: 0.005
Введите элементы массива P
0.001 1.54 -2.75 0.002 -0.1 1.2 -0.47
Введите элементы массива C
-5.74 0.0001 4.1 7.24 -1.5 2.9 0.004
Измененнный массив Р
0.005 1.54 0.005 0.005 0.005 1.2 0.005
4,8(94 оценок)
Ответ:
natali251081
natali251081
26.05.2020
#include "iostream"
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <cstdio>
using namespace std;
void main()
{
setlocale(LC_ALL, "Russian");
 int i;
 double s = 0, k, size;
 double mas[200];
 cout << "Введите размерность массива:";
 cin >> size;
 srand(time(NULL));
 for (i = 0; i < size; i++)
{
 mas[i] = 0 + rand() % 100; cout << mas[i] << " ";
 }
cout << endl;
 for (i = 0; i < size; i++)
{
 s = s + mas[i];
 }
k = s / size;
 cout << "Среднее арифметическое:" << k <<endl;
 system("pause");
}
4,6(42 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ