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

Pascal abc напишите программу, которая сортирует список работников компании по фамилии в алфавитном порядке. в списке не более 10000 строк, ввод заканчивается пустой строкой. входные данные в каждой входной строке записаны данные о сотруднике в формате . фамилия отделяется от инициалов пробелом. ввод заканчивается пустой строкой. выходные данные программа должна вывести список сотрудников в алфавитном порядке, добавив нумерацию. примеры входные данные j.x. smith b.a. weiter a.c. johnes выходные данные 1. a.c. johnes 2. j.x. smith 3. b.a. weiter

👇
Ответ:
daniilzimin9
daniilzimin9
08.12.2022
// PascalABC.NET 3.2, сборка 1417 от 28.03.2017
// Внимание! Если программа не работает, обновите версию!

type
  fs=(string,string);

begin
  var L:=new List<fs>;
  repeat
    var aw:=ReadlnString('>').ToWords;
    if aw.Length=0 then break;
    L.Add((aw[1],aw[0]))
  until false;
  var a:=L.OrderBy(t->t[0]);
  var i:=1;
  foreach var x in a do begin
    Writeln(i:4,' ',x[1],' ',x[0]);
    i+=1
    end
end.

Пример
> J.X. Smith
> B.A. Weiter
> A.C. Johnes
>
   1 A.C. Johnes
   2 J.X. Smith
   3 B.A. Weiter
4,8(46 оценок)
Открыть все ответы
Ответ:
fertnyhaw
fertnyhaw
08.12.2022
Program n1;
const n=15;
var a: array[1..n] of integer;
pc,pn,nmin,nmax,max,min,i: integer;
begin
randomize;
pc:=1;
pn:=1;
write('массив: ');
for i:=1 to n do begin
a[i]:=random(100);
write(a[i],' ');
end;
writeln;
for i:=1 to n do if i mod 2=0 then pc:=pc*a[i] else pn:=pn*a[i];
if pc>pn then begin
max:=a[1];
for i:=2 to n do if a[i]>max then begin
max:=a[i];
nmax:=i;
end;
writeln('номер максимального элемента: ',nmax);
end else
begin
min:=a[i];
for i:=2 to n do if a[i]<min then begin
min:=a[i];
nmin:=i;
end;
write('номер минимального элемента: ',nmin);
end;
end.
4,5(3 оценок)
Ответ:
regionagustin
regionagustin
08.12.2022

Как исповедующий подход на атомарное разбиение кода на функции/методы/классы, предпочитаю видеть код, в котором каждая операция выполняется в своей функции.

Это упрощает повторное использование кода, да и мыслить такой код проще, чем когда тебе в одной функции нужно отслеживать несколько состояний для их синхронизации.

В данном задании действие этого подхода видно слабо.

P.S. srand(time(nulptr)) и rand() - "плохой" получения случайных чисел, так как время находится под контролем пользователя и он может выставлять время специально. Но "хороший" реализовывать здесь смысла нет.

===========================

Если решение удовлетворило, не забудь отметить его как "Лучшее".

===========================

Код:

#include <iostream>

#include <cstdlib>

#include <ctime>

int rand_range(int min, int max) {

   return std::rand() % (max - min + 1) + min;

}

int* random_sequence(int N, int min, int max) {

   int *arr = new int[N];

   for(auto i = 0; i < N; ++i) {

       arr[i] = rand_range(min, max);

   }

   return arr;

}

template<typename T>

void print_sequence(const T * arr, size_t size) {

   for(auto i = 0; i < size; ++i) {

       std:: cout << arr[i] << " ";

   }

}

long calculate_production(const int *arr, size_t size) {

   long accumulator = 1;

   for(auto i = 0; i < size; ++i) {

       if (i % 2 == 0) continue;

       accumulator *= arr[i];

   }

   return accumulator;

}

int main() {

   const int min_random = -19, max_random = 26;

   int N;

   std::cout << "How many number should we generate? N = ";

   std::cin >> N;

   std::srand(std::time(nullptr));

   int *arr = random_sequence(N, min_random, max_random);

   print_sequence(arr, N);

   auto result = calculate_production(arr, N);

   std::cout << ":" << result;

   delete[] arr;

   return 0;

}


Сформировать и вывести на экран массив, элементы которого заданы датчиком случайных чисел на интерва
Сформировать и вывести на экран массив, элементы которого заданы датчиком случайных чисел на интерва
Сформировать и вывести на экран массив, элементы которого заданы датчиком случайных чисел на интерва
4,5(79 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ