// PascalABC.NET 3.2, сборка 1417 от 28.03.2017 // Внимание! Если программа не работает, обновите версию!
begin var n:=ReadInteger('Количество строк в массиве:'); var m:=ReadInteger('Количество столбцов в массиве:'); Writeln('*** Исходный массив [',n,',',m,'] ***'); var a:=MatrRandom(n,m,-99,99); a.Println(4); Writeln(4*a.ColCount*'-'); Writeln('Ср.арифм. положительных: ',a.ElementsByRow.Where(x->x>0).Average) end.
// Внимание! Если программа не работает, обновите версию!
begin
var n:=ReadInteger('Количество строк в массиве:');
var m:=ReadInteger('Количество столбцов в массиве:');
Writeln('*** Исходный массив [',n,',',m,'] ***');
var a:=MatrRandom(n,m,-99,99);
a.Println(4); Writeln(4*a.ColCount*'-');
Writeln('Ср.арифм. положительных: ',a.ElementsByRow.Where(x->x>0).Average)
end.
Пример
Количество строк в массиве: 5 12
Количество столбцов в массиве: *** Исходный массив [5,12] ***
99 -73 -67 46 -95 -79 23 98 -53 -58 83 -12
68 62 -75 -25 -29 2 -22 5 -75 -83 -22 31
-41 -68 29 68 -92 95 97 -30 -23 -85 -5 -59
21 -99 57 43 -4 39 30 74 -14 55 -81 24
-43 96 3 -97 31 74 -52 82 48 1 -13 73
Ср.арифм. положительных: 51.9
using namespace std;
struct link
{
double data;
link* next;
};
link* first = NULL;
void additem(int d) // добавление элементов список
{
link* newlink = new link;
newlink->data = d;
newlink->next = first;
first = newlink;
}
void display() // вывод на экран
{
link* current = first;
while(current)
{
cout << current->data << " ";
current = current->next;
}
}
int max() // max
{
link* current = first;
int m=0;
while(current)
{
if (current->data > m) m = current->data;
current = current->next;
}
return m;
}
void norm(int m) // нормализация
{
link* current = first;
while(current)
{
current->data /= m;
current = current->next;
}
}
int main()
{
int n=10;
int a;
for (int i=1; i<n; i++) {
cin >> a;
additem(a);
}
display();
cout << endl << max() << endl;
norm(max());
display();
}
Пример:
64 45 19 42 83 38 71 23 52
83
0.771084 0.542169 0.228916 0.506024 1 0.457831 0.855422 0.277108 0.626506