Регистрация
Войти
Стать экспертом Правила
Информатика

1. Задано некоторое натуральное число N. Составить алгоритм S=1+2+3+…+N2. Подсчитать количество отрицательных элементов в каждой строке матрицы размером МхN.

ОТВЕТЫ
1)

Var
   S:real;
   N:longint;
Begin
Write('n = ');
Read(n);
S:=0;
For n:= 1 to n do
    S:=S+n;
WriteLn('S = ',S);
End.



2)

Вариант первый:

Var
   A:array[1..10000,1..10000] of shortint;
   M,N,j,k:word;
Begin
Randomize;
Write('M = ');ReadLn(M);
Write('N = ');ReadLn(N);
WriteLn('Исходная матрица:');
For M:= 1 to M do
    Begin
    k:=0;
    For j:= 1 to N-1 do
        Begin
        A[M,j]:=random(21)-10;
        Write(A[M,j]:3,' ');
        if A[M,j] < 0 then k:=k+1
        End;
    A[M,j]:=random(21)-10;
    Write(A[M,j]:3);
    if A[M,j] < 0 then k:=k+1;
    WriteLn(', k = ',k)
    End;
End.



Вариант второй:

uses Crt;
///На всех версиях, кроме PascalABC.NET эту процедуру следует удалить
procedure Window(x, y, w, h: integer);
begin
  System.Console.WindowLeft:=x;
  System.Console.WindowTop:=y;
  System.Console.WindowWidth:=w;
  System.Console.WindowHeight:=h;
end;
Var
   A:array[1..13,1..13] of integer;
   N,M,i,j,t,o,k:integer;
Begin
Randomize;
TextBackGround(15);
TextColor(0);
Repeat
N:=random(13)+1;
M:=random(13)+1;
t:=3000 div (N*M);
if frac(Ln(N*M)/Ln(10)) = 0 then o:=1+Trunc(Ln(N*M)/Ln(10))
else o:=2+Trunc(Ln(N*M)/Ln(10));
Window(0,0,90,25);
ClrScr;
For i:= 1 to N do
    Begin
    For j:= 1 to M do
        Begin
        A[i,j]:=random(N*M*2+1)-(N*M);
        Delay(t);
        Write(A[i,j]:o,' ')
        End;
    WriteLn;
    End;
TextBackGround(10);
For i:= 1 to N do
    Begin
    k:=0;
    For j:= 1 to M do
        Begin
        if A[i,j] < 0 then
           Begin
           TextBackGround(14);
           GotoXY(j*(o+1)-o,i);
           Write(A[i,j]:o,' ');
           TextBackGround(10);
           k:=k+1
           End
        else
           Begin
           GotoXY(j*(o+1)-o,i);
           Write(A[i,j]:o,' ');
           End;
        Delay(t);
        End;
        TextBackGround(12);
        GotoXY(j*(o+1),i);
        Write(', k = ',k);
        TextBackGround(10);
    End;
TextBackGround(15);
GotoXY(1,N+1);
Write('1 - повторить, 0 - Выйти.');
Until ReadKey = '0'
End.
247
Контакты
Реклама на сайте
Спрошу
О проекте
Новым пользователям
Новым экспертам