Форум программистов, компьютерный форум, киберфорум
PascalABC.NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
0 / 0 / 0
Регистрация: 09.01.2022
Сообщений: 12

Организовать работу с массивом данных, где каждый элемент структура, отсортировать массив по значимому полю

02.06.2022, 16:43. Показов 1020. Ответов 5

Студворк — интернет-сервис помощи студентам
Всем доброго времени суток, подскажите, как можно реализовать данную задачу на Паскале?

Создать структуру лекарства, хранящую информацию о продукции аптеки: код товара, название препарата, производитель, лекарственная группа, необходимость наличия рецепта. Создать массив таких структур и заполнить его. Вывести на экран все препараты, которые можно купить в аптеке без рецепта.
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
02.06.2022, 16:43
Ответы с готовыми решениями:

Организовать одномерный массив, каждый элемент которого есть минимальный элемент в соответствующей строке матрицы
Добрый день. Я учусь программировать в Turbo C(Не с++, а именно эта версия). Не могу найти необходимой литературы или пример программ. Кто...

Вывести массив, где каждый элемент равен 2*x^2-10, где х меняется от 5 с шагом 0,5
Здравствуйте!помогите с задачкой! Вывести одномерный массив из 10 элементов,где каждый элемент равен 2*x^2-10,где х меняется от 5 с...

Дан одномерный массив. Составить двумерный массив в котором первый столбец является данным одномерным массивом, а каждый элемент строки...
Дан одномерный массив. Составить двумерный массив в котором первый столбец является данным одномерным массивом, а каждый элемент строки...

5
 Аватар для XzzzX
405 / 280 / 120
Регистрация: 09.07.2021
Сообщений: 1,016
Записей в блоге: 1
02.06.2022, 17:17
Цитата Сообщение от kontemar Посмотреть сообщение
подскажите, как можно реализовать данную задачу на Паскале?
подсказать Вам может любой учебник по паскалю. или даже встроенная справка.
разделы
Справочник по языку -> Типы данных -> Записи
Справочник по языку -> Типы данных -> Динамические массивы

Мы можем уточнить, если что-то не получается. А то так это больше похоже на "сделайте за меня", а не "подскажите", потому что алгоритм действий Вам расписан в задании достаточно подробно
0
0 / 0 / 0
Регистрация: 09.01.2022
Сообщений: 12
04.06.2022, 01:52  [ТС]
Я написал код, но не знаю, как реализовать показ всех препаратов, которые можно купить без рецепта. Можете с этим помочь? И как можно задать правильно количество препаратов? Чтобы можно было ввести с клавиатуры это количество?
Вот код:

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
 type Apteka=record
  nomber:string;
  name:string;
  proizvod:string;
  group:string;
  adres:string;
  recept: string;
end;
var
i,k:integer;
preparats: array [1..100] of Apteka; //задать количество препаратов
begin
for i:=1 to k do 
   begin
   writeln ('Сведения о ', i , '-м препарате: '); 
   writeln ('введите код препарата: ');
   readln (preparats[i].nomber);
   writeln ('введите название препарата: '); 
   readln (preparats[i].name); 
   writeln ('введите производителя: '); 
   readln (preparats[i].proizvod); 
   writeln ('введите лекарственную группу: '); 
   readln(preparats[i].group);
   writeln ('Необходим рецепт? '); 
   readln(preparats[i].recept);
   writeln ('Препараты, которые можно купить без рецепта:  '); 
   
   end; 
end.
0
Вирусоборец
 Аватар для thyrex
14433 / 7475 / 1579
Регистрация: 06.09.2009
Сообщений: 27,112
04.06.2022, 11:06
Лучший ответ Сообщение было отмечено mik-a-el как решение

Решение

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
const nmax = 1000; // максимально возможное количество препаратов
type Apteka=record
  number: string;
  name: string;
  proizvod: string;
  group: string;
  recept: byte; // 0 - без рецепта, 1 - по рецепту
end;
var
 i: integer;
 preparats: array [1..nmax] of Apteka; // массив описания препаратов
 n: integer; // реальное количество препаратов, n <= nmax
begin
 writeln ('Количество препаратов: ');
 readln (n);
 for i:= 1 to n do 
  begin
   writeln('Сведения о ', i , '-м препарате: '); 
   write('введите код препарата: ');
   readln(preparats[i].number);
   write('введите название препарата: '); 
   readln(preparats[i].name); 
   write('введите производителя: '); 
   readln(preparats[i].proizvod); 
   write('введите лекарственную группу: '); 
   readln(preparats[i].group);
   write('отпускается по рецепту (0 - нет, 1 - да): '); 
   readln(preparats[i].recept);
  end;
 writeln ('Препараты, которые можно купить без рецепта:  ');
 for i:= 1 to n do 
  if preparats[i].recept = 0
   then writeln(preparats[i].name); 
end.
1
0 / 0 / 0
Регистрация: 09.01.2022
Сообщений: 12
04.06.2022, 18:35  [ТС]
Спасибо вам огромное!
0
 Аватар для XzzzX
405 / 280 / 120
Регистрация: 09.07.2021
Сообщений: 1,016
Записей в блоге: 1
06.06.2022, 15:57
без устаревших конструкций
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
 type drug=record
  nomber:string;
  name:string;
  proizvod:string;
  group:string;
  adres:string;
  recept: boolean;
end;
 
begin
var n:= ReadLnInteger('кол-во препаратов =');
var drugs:= new drug[n];
for var i:=0 to n-1 do 
   begin
   writeln ('Сведения о ', i , '-м препарате: ');
   drugs[i].nomber:= ReadLnString('введите код препарата:');
   drugs[i].name:= ReadLnString('введите название препарата:');
   drugs[i].proizvod:= ReadLnString('введите производителя:');
   drugs[i].group:= ReadLnString('введите лекарственную группу:');
   drugs[i].recept:= ReadLnChar('Необходим рецепт? y/n:') = 'y';
   end; 
   
writeln ('Препараты, которые можно купить без рецепта:');
for var i:= 0 to n - 1 do
   if not drugs[i].recept then
     writeln(drugs[i].name);
end.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
06.06.2022, 15:57
Помогаю со студенческими работами здесь

Массив: Получить новый массив Z, каждый элемент которого zj = Xi, где i = 1, 2, ..., n, j = n, n-1, ..., 1.
Задано массив X (x1, x2, ..., xn), получить новый массив Z, каждый элемент которого zj = Xi, где i = 1, 2, ..., n, j = n, n-1, ..., 1....

Сформировать массив данных с помощью структуры. Отсортировать полученный список по полю «год издания»
Сформировать массив данных с помощью структуры. Предметная область – список книг в библиотеке (номер по порядку, ...

Организовать одномерный массив, каждый элемент которого есть произведение элементов матрицы в строке
Lazarus дана матрица aij (i=1, 3 ; j=1, 4) организовать одномерный массив каждый элемент которого есть произведение элементов матрицы в...

Массив: Построить массив, где каждый элемент - это количество положительных элементов k-го столбца матрицы...
Составить алгоритм и программу ! 3.Дано матрицу размером m на n с действительными элементами. построить последовательность ,,...,, где...

Массив: Получить новый массив R, где каждый элемент создается из массива W делением элемента на его индекс
Добрый день. Сама задача: Дан одномерный массив W из 10 случайных целых чисел, каждое из которых лежит в пределах от 1 до 100. Получите...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка. Рецензия / Мнение Это мой обзор планшета X220 с точки зрения школьника. Недавно я решила попытаться уменьшить свой. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru