Подсчитайте количество единичных элементов в целочисленном массиве с(n,m).массив заполнять вручную пропустил эту тему по болезни и ничего не понимаю теперь((
// PascalABC.NET 3.0, сборка 1088 function InitA(n:integer):array of integer; begin Result:=ArrRandom(n,-31,45) end;
procedure GetA(var a:array of integer); begin a:=InitA(ReadInteger('Количество элементов в массиве А: ')); end;
procedure PutM(c:char; a:array of integer); begin Writeln('*** Массив '+c+'[',a.Length,'] ***',#13#10,a); end;
function FormB(a:array of integer):array of integer; begin Result:=Range(0,a.Length-1,2).Select(x->a[x]).ToArray end;
function MinEl(a:array of integer):integer; begin Result:=a.Min end;
begin var mA:array of integer; GetA(mA); PutM('A',mA); var mB:=FormB(mA); PutM('B',mB); Writeln('Минимальный элемент в массиве В равен ',MinEl(mB)) end.
Тестовое решение: Количество элементов в массиве А: 15 *** Массив A[15] *** [-22,0,-9,17,14,3,38,-18,-28,-17,28,13,1,1,26] *** Массив B[8] *** [-22,-9,14,38,-28,28,1,26] Минимальный элемент в массиве В равен -28
function InitA(n:integer):array of integer;
begin
Result:=ArrRandom(n,-31,45)
end;
procedure GetA(var a:array of integer);
begin
a:=InitA(ReadInteger('Количество элементов в массиве А: '));
end;
procedure PutM(c:char; a:array of integer);
begin
Writeln('*** Массив '+c+'[',a.Length,'] ***',#13#10,a);
end;
function FormB(a:array of integer):array of integer;
begin
Result:=Range(0,a.Length-1,2).Select(x->a[x]).ToArray
end;
function MinEl(a:array of integer):integer;
begin
Result:=a.Min
end;
begin
var mA:array of integer;
GetA(mA); PutM('A',mA);
var mB:=FormB(mA); PutM('B',mB);
Writeln('Минимальный элемент в массиве В равен ',MinEl(mB))
end.
Тестовое решение:
Количество элементов в массиве А: 15
*** Массив A[15] ***
[-22,0,-9,17,14,3,38,-18,-28,-17,28,13,1,1,26]
*** Массив B[8] ***
[-22,-9,14,38,-28,28,1,26]
Минимальный элемент в массиве В равен -28
#include <iostream>
#include <ctime>
using namespace std;
int main() {
const int n = 4;
float arr[n][10];
cout << "Исходный массив: " << endl;
srand(time(NULL));
for (int i = 0; i < n; i++){
for (int j = 0; j < 10; j++){
float minValue = -10.f;
float maxValue = 10.f;
arr[i][j] = (float)rand()/(float) RAND_MAX * (maxValue - minValue) + minValue;
cout << arr[i][j] << " ";
}
cout << endl;
}
int maxIndex = 0;
for (int i = 0; i < n; i++)
for (int j = 0; j < 10; j++)
if (arr[i][j] >= arr[maxIndex/10][maxIndex%10])
maxIndex = i * 10 + j;
cout << "Max: " << "arr["<<maxIndex/10<<"]["<<maxIndex%10<<"] = "
<< arr[maxIndex/10][maxIndex%10] << endl;
int row = maxIndex/10;
if (row < n - 1){
cout << "Меняем " << row + 1 << " и " << n << " строки местами: " << endl;
for (int j = 0; j < 10; j++){
float temp = arr[n-1][j];
arr[n-1][j] = arr[row][j];
arr[row][j] = temp;
}
for (int i = 0; i < n; i++){
for (int j = 0; j < 10; j++)
cout << arr[i][j] << " ";
cout << endl;
}
} else {
cout << "Максимальный элемент находится на последней строке." << endl;
}
return 0;
}