// PascalABC.NET 3.2, сборка 1382 от 06.02.2017 // Внимание! Если программа не работает, обновите версию!
begin var n:=ReadInteger('Количество строк (столбцов) в массиве:'); Writeln('*** Исходный массив [',n,',',n,'] ***'); var a:=MatrRandom(n,n,-10,10); a.Println(4); Writeln(5*a.ColCount*'-'); var k,l:integer; Write('Введите L,K: '); Read(l,k); var lim:=a[l-1,k-1]; var s:=a.Rows.SelectMany(x->x).Where(x->x<lim).Sum; Writeln('Искомая сумма равна ',s) end.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#include <stdio.h>
#include <stdlib.h> // предоставляет rand() и srand()
#include <time.h> // предоставляет time()
// число строк в массиве:
#define M 5
// длина каждой строки:
#define N 7
int main ()
{
srand(time(NULL)); // новая точка отсчета рнд
int B[M][N]; // массив
int cnt; // число отрицательных
int i, j;
// заполняем массив случайными:
for (i=0; i<M; i++)
for (j=0; j<N; j++)
B[i][j] = rand() %21 - 10;
// считаем отрицательные:
for (i=0; i<N; i++)
{
cnt = 0; // перед каждым новым столбцом сбрасываем счетчик отрицательных
for (j=0; j<M; j++)
if (B[i][j] < 0) cnt++;
printf("column #%i, count is: %d\n", i, cnt);
}
return 0; // конец программы
// Внимание! Если программа не работает, обновите версию!
begin
var n:=ReadInteger('Количество строк (столбцов) в массиве:');
Writeln('*** Исходный массив [',n,',',n,'] ***');
var a:=MatrRandom(n,n,-10,10);
a.Println(4); Writeln(5*a.ColCount*'-');
var k,l:integer;
Write('Введите L,K: '); Read(l,k);
var lim:=a[l-1,k-1];
var s:=a.Rows.SelectMany(x->x).Where(x->x<lim).Sum;
Writeln('Искомая сумма равна ',s)
end.
Пример
Количество строк (столбцов) в массиве: 6
*** Исходный массив [6,6] ***
-4 -8 -7 -3 -6 -4
2 -9 1 9 -6 6
-9 -2 -8 -3 -1 -4
-1 -9 -3 -7 3 -3
5 9 -6 8 -1 -10
-1 -1 -5 -8 -9 4
Введите L,K: 2 3
Искомая сумма равна -138