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

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

👇
Ответ:
Antoniow27
Antoniow27
25.01.2022
Код 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
4,7(46 оценок)
Открыть все ответы
Ответ:
ННеетт
ННеетт
25.01.2022

Создаёшь массив, заполняешь его, считаешь сумму и произведение, и обрабатываешь условие:


#include <stdio.h>

#include <stdlib.h>

#include <time.h>

#include <conio.h>

#define RANDOM_MIN -9

#define RANDOM_MAX 9

int main(void) {

srand(time(NULL)); /* for "visible" random */

 

int N;

scanf("%d", &N);

 

int *A = malloc(sizeof(int) * N);

int sum = 0;

int prd = 1;

 

printf("elements: ");

 

int i;

for (i = 0; i < N; i++) {

 A[i] = RANDOM_MIN + rand() % (RANDOM_MAX + abs(RANDOM_MIN) + 1);

 

 printf("%d ", A[i]);

 

 if (A[i] > 0) {

  sum += A[i];  

 } else if (A[i] < 0) {

  prd *= A[i];

 }

}

 

printf("\n");

printf("summa: %d\n", sum);

printf("product: %d\n", prd);

 

if (sum > prd) {

 int max = A[0];

 

 for (i = (0 + 1); i < N; i++) {

  if (max < A[i]) {

   max = A[i];

  }

 }

 

 printf("max element is: %d", max);

} else {

 printf("product higher than summa");

}

 

getch();

free (A);

return 0;

}

4,4(82 оценок)
Ответ:
Snezhana206
Snezhana206
25.01.2022

Создаёшь массив, заполняешь его, считаешь сумму и произведение, и обрабатываешь условие:


#include <stdio.h>

#include <stdlib.h>

#include <time.h>

#include <conio.h>

#define RANDOM_MIN -9

#define RANDOM_MAX 9

int main(void) {

srand(time(NULL)); /* for "visible" random */

 

int N;

scanf("%d", &N);

 

int *A = malloc(sizeof(int) * N);

int sum = 0;

int prd = 1;

 

printf("elements: ");

 

int i;

for (i = 0; i < N; i++) {

 A[i] = RANDOM_MIN + rand() % (RANDOM_MAX + abs(RANDOM_MIN) + 1);

 

 printf("%d ", A[i]);

 

 if (A[i] > 0) {

  sum += A[i];  

 } else if (A[i] < 0) {

  prd *= A[i];

 }

}

 

printf("\n");

printf("summa: %d\n", sum);

printf("product: %d\n", prd);

 

if (sum > prd) {

 int max = A[0];

 

 for (i = (0 + 1); i < N; i++) {

  if (max < A[i]) {

   max = A[i];

  }

 }

 

 printf("max element is: %d", max);

} else {

 printf("product higher than summa");

}

 

getch();

free (A);

return 0;

}

4,6(93 оценок)
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ