PascalABCNET. Помогите с прогой по матрице срочно. У нас есть три
PascalABCNET. Помогите с прогой по матрице безотлагательно. У нас есть три столбца : цена, сорт, количество
В столбце "сорт" всегда вводятся числа: 00 01 10 11
В стоимости и количестве любые.
Нужно написать прогу которая выводит общую стоимость товаров по каждому сорту.
Вводим :
17 01 2
3 00 5
7 01 4
Вывод:
00 - 15
01 - 34+28=62
Толя Швайц
Так я и есть школота, и в программеры не стремлюсь как то
Полина Энгельсберг
Превосходно, помогите пожалуйста написать мне программку
Диана Олийнык
В матрице хранятся данные, либо они просто вводятся в таком формате?
Багателия
Ванька
И откуда брать эти данные: с клавиатуры вводить либо рандомно задавать?
Амелия Фишелевич
С клавиатуры вводить
Ева Гнетиева
На 1-ый вопрос ответите?
Дмитрий
Просто вводятся
1 ответ
Инна
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 gt; 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 lt;gt; 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 gt; 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 lt;gt; 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 gt; 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 lt;gt; 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 gt; 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 lt;gt; 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
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 gt; 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 lt;gt; 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 gt; 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 lt;gt; 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 gt; 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 lt;gt; 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 gt; 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 lt;gt; 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
Варвара Нежурко
Спасибо огромное за помощь)
, оставишь ответ?
Похожие вопросы
-
Вопросы ответы
Новое
NEW
Статьи
Информатика
Статьи
Последние вопросы
Игорь 14 лет назад был на 8 лет моложе, чем его
Математика.
Два тела массами m1 и m2 находящие на расстоянии R друг
Физика.
В сосуде 4целых одна пятая литр воды что бы заполнить сосуд
Математика.
Двум малярам Диме И Олегу поручили выкрасить фасад дома они разделили
Разные вопросы.
найти порядковый номер 41Э если в ядре 20 нейтронов
Разные вопросы.
в ряду натуральных чисел 3, 8, 10, 24, … 18 одно
Математика.
Предприятие по производству с/хоз продукции на производство затратило 3527000 руб Валовый
Разные вопросы.
Математика, задано на каникулы. ВАРИАНТ 1004
НОМЕР 1,2,3,4,5,6,7,8.
Математика.
Имеются три конденсатора емкостью С1=1мкФ, С2=2мкФ и С3=3мкФ. Какую наименьшую емкость
Физика.
Из точки м выходят 3 луча MP MN и MK причём
Геометрия.
Облако тегов