Avetisyan575
?>

19+ 1. из массива размером n удалите все элементы, которые встречаются более одного раза. 2. пользователь вводит массив, предварительно указав его размер. поменяйте местами максимальный и минимальный элементы массива. 3. транспортируйте матрицу размером n×m (поменяйте местами строки и столбцы

Информатика

Ответы

Irina
Код Pascal:

Первая программа:

Const
   N = 13;
Var
   A,B:array[1..N] of integer;
   i,j,m:integer;
   k:byte;
Begin
Randomize;
Write('Исходный массив:');
For i:= 1 to N do
    Begin
    A[i]:=random(N);
    Write(' ',A[i])
    End;
WriteLn;
Write('Уникальные элементы:');
m:=0;
For i:= 1 to N do
    Begin
    k:=1;
    For j:= 1 to N do
        if i<>j then
           if A[i]=A[j] then k:=0;
    if k=1 then
       Begin
       m:=m+1;
       B[m]:=A[i];
       End
    End;
For m:=1 to m do
    Begin
    A[m]:=B[m];
    Write(' ',A[m])
    End;
End.

Пример работы программы:

Исходный массив: 3 7 11 11 11 0 9 3 9 9 10 1 4
Уникальные элементы: 7 0 10 1 4

Вторая программа:

Var
   A:array[1..10000] of integer;
   n,Min,Max,B:integer;
Begin
Write('Введите размерность массива: ');ReadLn(n);
Write('Введите массив A(',n,'): ');
For n:= 1 to n do
    Read(A[n]);

Min:=1;
Max:=1;
For n:= 2 to n do
    Begin
    if A[n]<Min then Min:=n;
    if A[n]>Max then Max:=n;
    End;
WriteLn('Min(A) = A[',Min,'] = ',A[Min]);
WriteLn('Max(A) = A[',Max,'] = ',A[Max]);

B:=A[Max];
A[Max]:=A[Min];
A[Min]:=B;

Write('A(',n,'):');
For n:= 1 to n do
    Write(' ',A[n])
End.

Пример работы программы:

Введите размерность массива: 7
Введите массив A(7): 1 3 4 6 7 5 2
Min(A) = A[1] = 1
Max(A) = A[5] = 7
A(7): 7 3 4 6 1 5 2

Третья программа:

Const
   n = 3;
   m = 4;
Var
   A:array[1..n,1..m] of integer;
   B:array[1..m,1..n] of integer;
   i,j:integer;
Begin
Randomize;
WriteLn('Исходная матрица:');
For i:= 1 to N do
    Begin
    For j:= 1 to M do
        Begin
        A[i,j]:=random(21)-10;
        Write(A[i,j]:3,' ')
        End;
    WriteLn;
    End;
WriteLn;
WriteLn('Транспонированная матрица:');
For i:= 1 to M do
    Begin
    For j:= 1 to N do
        Begin
        B[i,j]:=A[j,i];
        Write(B[i,j]:3,' ')
        End;
    WriteLn
    End;
End.


Пример работы программы:

Исходная матрица:
 10   3  10   1
 -4   9  -9   2
 -1   4   2   1

Транспонированная матрица:
 10  -4  -1
  3   9   4
 10  -9   2
  1   2   1
fedoseevgleb
1) F=Av(¬A&B)
По закону дистрибутивности раскроем скобки
(Av¬A)&(AvB)
Av¬A = 1, значит остаётся AvB

2) F =A&(¬AvB)
По тому же закону раскрываем скобки
(A&¬A)v(A&B)
A&¬A = 0, значит остаётся A&B

3. (AvB)&(¬BvA)&(¬CvB)
По закону склеивания (AvB)&(¬BvA) = A , получается, что выражение принимает вид
A&(¬CvB)
Можно раскрыть скобки, получим
A&¬C v A&B

4) F =(1v(AvB))v((AC)&1) 
Скобка (1v(AvB)) = 1, так как 1 v ЧТОУГОДНО = 1
Получаем выражение
1v((AC)&1) = 1, так как 1 v ЧТОУГОДНО = 1
ответ 1
ipeshindina236
Сначала надо избавиться от ошибок (пункт №3)
иначе не сможем выполнить 1 и 2 пункт задания.
  Исправляем if N mod 10 k:=N mod 10; на if (N mod 10 < k) then k:=N mod 10;
  Исправляем N:N div 10; на N:= N div 10;
 
После исправления ошибок при вводе 537 получим 3
Программа будет работать правильно для любого числа,
у которого вторая цифра слева меньше первой цифры, например:
7193

Чтобы программа работала правильно для всех чисел надо
изменить это: while N > 10 do на while N > 0 do

После всех исправлений код программы стал таким:
var
  N, k: integer;
begin
  readln(N);
  k := 9;
  while N > 10 do
  begin
    if (N mod 10 < k) then k := N mod 10;
    N := N div 10;
  end;
  write(k)
end.

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

19+ 1. из массива размером n удалите все элементы, которые встречаются более одного раза. 2. пользователь вводит массив, предварительно указав его размер. поменяйте местами максимальный и минимальный элементы массива. 3. транспортируйте матрицу размером n×m (поменяйте местами строки и столбцы
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

mdsazonovatv1173
dzo-dzo
ivanda
Pavlovna897
galkar
Nefedova1432
Pogosyan Nataliya
poch23420
printdecor
rstas
ИгоревичАндрей
expozition
Вера1072
Yelena1458
Михайлов