Program uva; begin write(1000/((50*50*40)/1000000)/2.5, "лимонов и "1000/((50*50*40)/1000000)/2.5*1.5 " апельсинов" ); //50*50*40 ищется объём одной коробки, /1000000 переводится в метры, //1000/((50*50*40)/1000000) ищется количество коробок. нам нужно засунуть в // коробки как можно больше лимонов, т.к. они дороже. но их максимальное //количество соотносится с апельсинами как 1:1,5. Всего частей 1+1,5=2,5 //лимоны отсюда одна часть, значит делим все коробки на количество //частей и получаем количество лимонов. а количество апельсинов просто //умножаем количество лимонов на 1,5 end.
// PascalABC.Net 3.0, сборка 1052 type Matrix=array[,] of integer;
function SumRow(a:Matrix; i:integer):integer; var j,s:integer; begin s:=0; for j:=0 to Length(a,1)-1 do s:=s+a[i,j]; SumRow:=s end;
var i,j,m,n:integer; A:Matrix; begin Write('Введите количество строк и столбцов массива: '); Read(m,n); SetLength(A,m,n); Writeln('Исходный массив'); Randomize; for i:=0 to m-1 do begin for j:=0 to n-1 do begin A[i,j]:=Random(51)-25; // интервал [-25;25] Write(A[i,j]:4) end; Writeln end; Write('Построчные суммы: '); for i:=0 to m-1 do Write(SumRow(A,i),' '); Writeln end.
begin
write(1000/((50*50*40)/1000000)/2.5, "лимонов и "1000/((50*50*40)/1000000)/2.5*1.5 " апельсинов" );
//50*50*40 ищется объём одной коробки, /1000000 переводится в метры,
//1000/((50*50*40)/1000000) ищется количество коробок. нам нужно засунуть в // коробки как можно больше лимонов, т.к. они дороже. но их максимальное
//количество соотносится с апельсинами как 1:1,5. Всего частей 1+1,5=2,5
//лимоны отсюда одна часть, значит делим все коробки на количество
//частей и получаем количество лимонов. а количество апельсинов просто
//умножаем количество лимонов на 1,5
end.
type
Matrix=array[,] of integer;
function SumRow(a:Matrix; i:integer):integer;
var
j,s:integer;
begin
s:=0;
for j:=0 to Length(a,1)-1 do s:=s+a[i,j];
SumRow:=s
end;
var
i,j,m,n:integer;
A:Matrix;
begin
Write('Введите количество строк и столбцов массива: ');
Read(m,n);
SetLength(A,m,n);
Writeln('Исходный массив');
Randomize;
for i:=0 to m-1 do begin
for j:=0 to n-1 do begin
A[i,j]:=Random(51)-25; // интервал [-25;25]
Write(A[i,j]:4)
end;
Writeln
end;
Write('Построчные суммы: ');
for i:=0 to m-1 do Write(SumRow(A,i),' ');
Writeln
end.
Тестовое решение:
Введите количество строк и столбцов массива: 10 13
Исходный массив
-11 19 -1 12 -19 -7 25 16 6 -18 8 16 -22
-10 -9 21 21 -16 -14 10 7 -7 -21 23 -25 14
-16 -5 18 -6 12 -11 -23 -3 20 24 -4 -18 -16
-15 -1 5 -5 -9 -3 -9 0 0 21 -3 -15 -1
21 19 -17 21 15 2 11 -7 -17 5 23 -14 -5
-7 13 7 -5 -8 0 13 -25 -24 -14 -23 24 14
0 10 -11 10 -1 -5 -17 -12 -6 -16 -12 25 -16
20 -3 17 -24 19 7 -16 22 -22 3 18 -21 3
23 -3 -1 20 7 -19 23 -25 -24 -24 -21 -1 -20
2 -23 -18 25 4 -7 -4 -17 5 -9 -17 25 -8
Построчные суммы: 24 -6 -28 -35 57 -35 -51 23 -65 -42