// PascalABC.NET 3.0, сборка 1144 от 16.01.2016 begin var n:=ReadInteger('n='); var a:=ArrRandom(n,-50,50); Writeln('Исходный массив'); a.Println; var se:=a.Where(x->x mod 3=0); if se.Count=0 then Writeln('В массиве нет элементов, кратных трем') else begin var b:=se.Max; var i:=0; while a[i]<>b do Inc(i); if i=n-1 then Writeln('Максимальный элемент - последний') else begin Writeln('Результирующий массив'); a[i+1]:=abs(a.Where(x->x<0).Sum); a.Println end end end.
m 8 5 n 3 ясно, что основание искомой с/с > 10. Проверим и удостоверимся, что в 11c|c действия выполняются верно. 11 c|c M=6 n = 4 ответ: основание системы 11, m=6, n=4
2. m m 65 n +2 n 4 4 m
5 5 4 2 4 очевидно, что основание искомой с/с > 6. Проверим по действиям в 7 с/с, при сложении в столбик, при m=3 и n=1 и удостоверимся, что всё верно. ответ: осн. с\с = 7, m=3, n=1
#include <iostream>
#include <iomanip>
using namespace std;
int main() {
const int n = 5;
double a[n][n];
double m1, m2;
srand(time(0));
for (int i = 0; i < n; i++){
for (int j = 0; j < n; j++){
a[i][j]=-20 + (101.0 / RAND_MAX) * rand();
cout << fixed << setw (7) << setprecision (2) << a[i][j];
}
cout <<endl;
}
m1=a[0][0];
m2=a[0][n-1];
for (int i = 1; i < n; i++){
if (a[i][i]>m1) m1=a[i][i];
if (a[i][n-i-1]>m2) m2=a[i][n-i-1];
}
cout << "m1=" << m1 << " m2=" << m2 << endl;
}
37.11 71.19 25.77 53.53 35.74
39.90 63.69 11.67 70.38 -4.10
64.46 52.37 35.03 42.58 69.18
44.22 8.46 13.23 71.17 3.10
6.83 65.07 75.24 21.61 37.22
m1=71.17 m2=70.38