М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
alusykapogo
alusykapogo
02.05.2020 15:52 •  Информатика

Информатика! решить в паскале три : 1) дан двумерный массив, найти количество отрицательных элементов. 2) дан двумерный массив. заменить все элементы над главной диагональю на 100. 3) дан двумерный массив. поменять местами верхнюю половину строк с нижней.

👇
Ответ:
Mamaluska
Mamaluska
02.05.2020
Const
   N = 4;
Var
   A:array[1..N,1..N] of integer;
   i,j,k:integer;
Begin
Randomize;
WriteLn('1)');
k:=0;
For i:= 1 to N do
    Begin
    For j:= 1 to N do
        Begin
        A[i,j]:=random(21)-10;
        Write(A[i,j]:3,' ');
        if A[i,j] < 0 then k:=k+1;
        End;
    WriteLn
    End;
WriteLn('k = ',k);
WriteLn('2)');
For i:= 1 to N do
    Begin
    For j:= 1 to N do
        Begin
        if j > i then A[i,j]:=100;
        Write(A[i,j]:3,' ')
        End;
    WriteLn
    End;
WriteLn('3)');
For i:= 1 to N div 2 do
    Begin
    For j:= 1 to N do
        Begin
        k:=A[i+N div 2,j];
        A[i+N div 2,j]:=A[i,j];
        A[i,j]:=k;
        End
    End;
For i:= 1 to N do
    Begin
    For j:= 1 to N do
        Write(A[i,j]:3,' ');
    WriteLn
    End;
End.

1)
 10   2  -9   4
-10   5  -5 -10
  4   9   4  10
  3  -9  10  -6
k = 6
2)
 10 100 100 100
-10   5 100 100
  4   9   4 100
  3  -9  10  -6
3)
  4   9   4 100
  3  -9  10  -6
 10 100 100 100
-10   5 100 100
4,8(84 оценок)
Открыть все ответы
Ответ:
24j18g81B
24j18g81B
02.05.2020
Возможны опечатки
это язык си++ он похож на си#

#include <iostream>
using namespace std;

int main()
{
int n;
cin >> n;

// пункт а, если первая больше  выводит 1, если последняя то 3, если равны то ==. Аналогично с пунктами в и с

cout << "a)";
if (n / 100 > n % 10)
cout << 1 << "\n";
else if (n / 100 < n % 10)
cout << 3 << "\n";
else 
cout << "==" << "\n";

cout << "b)";
if (n / 100 > n / 10 % 10)
cout << 1 << "\n";
else if (n / 100 < n / 10 % 10)
cout << 2 << "\n";
else 
cout << "==" << "\n";

cout << "c)";
if (n / 10 % 10 > n % 10)
cout << 2 << "\n";
else if (n / 10 % 10 < n % 10)
cout << 3 << "\n";
else 
cout << "==" << "\n";
//system("pause");
}
4,6(40 оценок)
Ответ:
Const
  n=7;

type
  V=array[1..n] of real;
 
procedure InitMas(var a:V; fn:string);
{ инициализция массива из файла }
var
  i:integer;
  f:Text;
begin
  Assign(f,fn);
  Reset(f);
  for i:=1 to n do
    if not Eof(f) then Read(f,a[i]) else a[i]:=0;
  Close(f)
end;

procedure MyProc(var a:V; t:real; var k:integer);
{ замена значением t элементов массива, меньших t }
var
  i:integer;
begin
  k:=0;
  for i:=1 to n do
    if a[i]<t then begin a[i]:=t; Inc(k) end
end;

procedure OutMas(var a:V; an:string);
{ вывод элементов массива }
var
  i:integer;
begin
  Writeln('Массив '+an);
  for i:=1 to n do Write(a[i],' ');
  Writeln
end;

procedure Work(var a:V; fn,an:string; t:real; var k:integer);
{ полный цикл обработки массива по заданию }
begin
  InitMas(a,fn);
  MyProc(a,t,k)
end;

var
  P,C:V;
  k1,k2:integer;
  t:real;
begin
  Writeln('Введите значение T: '); Read(t);
  Work(P,'p.dat','P',t,k1);
  Work(C,'c.dat','C',t,k2);
  if k1=k2 then Writeln('Число замен равно ',k1)
  else
    if k1>k2 then OutMas(P,'P') else OutMas(C,'C')
end.

Тестовое решение:
Введите значение T:
0.005
Массив P
0.005 1.54 0.005 0.005 0.005 1.2 0.005
4,4(44 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ