Даю 50+
Переведите код с Паскаля на С++
uses crt;
const nmax=20;
var a:array[0..nmax,0..nmax] of integer;
m,n,i,j,imx:byte;
mx,sm:integer;
begin
clrscr;
randomize;
repeat
write('Количество спортсменов до ',nmax,' n=');
readln(n);
until n in [1..nmax];
repeat
write('Количество попыток до ',nmax,' m=');
readln(m);
until n in [1..nmax];
writeln('Введите построчно через пробел результаты каждого спортсмена');
writeln('После каждой строки нажать Enter');
writeln('Таблица результатов:');
for i:=0 to n-1 do
for j:=0 to m-1 do
read(a[i,j]);
readln;
writeln;
mx:=0;imx:=0;
for i:=0 to n-1 do
begin
sm:=0;
for j:=0 to m-1 do
sm:=sm+a[i,j];
if sm>mx then
begin
mx:=sm;
imx:=i;
end;
end;
write('Максимальная сумма попыток=',mx,' у спортсмена ',imx+1);
readln
end.
static void Main(string[] args)
{
int N = 0;
Console.Write("Введите размерность массива: ");
N = Convert.ToInt32(Console.ReadLine());
double[,] mas = new double[N, N];
double sum = 0;
int viborStroki = 0;
Console.Write("Введите номер строки: ");
viborStroki = Convert.ToInt32(Console.ReadLine());
Random rnd = new Random();
for(int i = 0; i < N; i++)
{
for(int j = 0; j<N; j++)
{
mas[i, j] = rnd.Next(0, 10);
}
}
for (int i = viborStroki - 1; i < viborStroki; i++)
{
for(int j = 0; j < N; j++)
{
sum += Math.Pow(mas[i, j], 2);
}
}
Console.WriteLine();
Console.Write("Массив: ");
Console.WriteLine();
for (int i = 0; i < N; i++)
{
for (int j = 0; j < N; j++)
{
Console.Write(String.Format("{0,3}", mas[i, j]));
}
Console.WriteLine();
}
Console.Write("Сумма квадратов элементов {0}-й строки = ", viborStroki);
Console.Write("{0}", sum);
Console.ReadKey();
}
Объяснение:
Вводим размерность массива, вводим номер строки, программа считает сумму квадратов элементов введённой строки.
// PascalABC.NET 3.2, сборка 1417 от 28.03.2017
// Внимание! Если программа не работает, обновите версию!
begin
var s:=ArrRandom(ReadInteger('n='),1,300).Println.
Where(k->(k>=100) and ((k mod 100) div 10=0));
if s.Count>0 then Writeln(s.Max) else Writeln('Нет элементов')
end.
Пример
n= 15
76 283 171 140 113 65 185 35 202 42 93 51 205 76 138
205
2. А так по-прежнему учат в большинстве школ. Стиль "80-х годов века". Долго, длинно, можно наделать ошибок, но по-другому эти учителя сами не могут.
const
nn=100;
var
i,n,max:integer;
a:array[1..nn] of integer;
begin
Write('n=');
Read(n);
Randomize;
max:=0;
for i:=1 to n do begin
a[i]:=Random(300)+1;
Write(a[i],' ');
if (a[i]>=100) and ((a[i] mod 100) div 10=0) then
if a[i]>max then max:=a[i]
end;
Writeln;
if max>0 then Writeln(max)
else Writeln('Нет элементов')
end.
Пример
n=15
219 68 131 115 104 169 80 288 143 108 124 214 50 101 1
108