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

Pascalabcnet. с прогой по матрице . у нас есть три столбца : стоимость, сорт, количество в столбце "сорт" всегда вводятся числа: 00 01 10 11 в стоимости и количестве любые. нужно написать прогу которая выводит общую стоимость товаров по каждому сорту. вводим : 17 01 2 3 00 5 7 01 4 вывод: 00 - 15 01 - 34+28=62

Показать ответ
Ответ:
nurganym1
nurganym1
06.10.2020 04:40
Const
   N = 7; // количество наименований товаров
Var
   A:array[1..N,1..3] of integer;
   i,k,S:integer;
Begin
For i:= 1 to N do
    Read(A[i,1],A[i,2],A[i,3]);
k:=0;
For i:= N downto 1 do
    if A[i,2] = 0 then k:=i;
if k > 0 then
   Begin
   Write('00 - ',A[k,1]*A[k,3]);
   S:=0;
   For i:= k+1 to N do
       if A[i,2] = 0 then
          Begin
          Write('+',A[i,1]*A[i,3]);
          S:=S+A[i,1]*A[i,3];
          End;
   if S <> 0 then Write('=',S+A[k,1]*A[k,3]);
   WriteLn;
   End;
k:=0;
For i:= N downto 1 do
    if A[i,2] = 1 then k:=i;
if k > 0 then
   Begin
   Write('01 - ',A[k,1]*A[k,3]);
   S:=0;
   For i:= k+1 to N do
       if A[i,2] = 1 then
          Begin
          Write('+',A[i,1]*A[i,3]);
          S:=S+A[i,1]*A[i,3];
          End;
   if S <> 0 then Write('=',S+A[k,1]*A[k,3]);
   WriteLn;
   End;
k:=0;
For i:= N downto 1 do
    if A[i,2] = 10 then k:=i;
if k > 0 then
   Begin
   Write('10 - ',A[k,1]*A[k,3]);
   S:=0;
   For i:= k+1 to N do
       if A[i,2] = 10 then
          Begin
          Write('+',A[i,1]*A[i,3]);
          S:=S+A[i,1]*A[i,3];
          End;
   if S <> 0 then Write('=',S+A[k,1]*A[k,3]);
   WriteLn;
   End;
k:=0;
For i:= N downto 1 do
    if A[i,2] = 11 then k:=i;
if k > 0 then
   Begin
   Write('11 - ',A[k,1]*A[k,3]);
   S:=0;
   For i:= k+1 to N do
       if A[i,2] = 11 then
          Begin
          Write('+',A[i,1]*A[i,3]);
          S:=S+A[i,1]*A[i,3];
          End;
   if S <> 0 then Write('=',S+A[k,1]*A[k,3]);
   WriteLn;
   End;
End.

Пример работы программы:

17 1 2
3 0 5
7 1 4
8 11 9
95 0 3
31 10 44
5 1 6
00 - 15+285=300
01 - 34+28+30=92
10 - 1364
11 - 72
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота