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

Напишите программу в c++. дан массив из n целых чисел. обнулить все повторяющиеся элементы массива. результирующий массив вывести на экран.

👇
Ответ:
Дурашка008
Дурашка008
14.11.2020

n - кол-во элементов в массиве, a[] - сам массив.

Алгоритм работает в тупую за O(n²)

Вот весь алгоритм:


for (int i = 0; i < n; i++) {

   for (int j = i - 1; j >= 0; j--) {

       int flag = 1;

       if (a[j] == a[i]) {

           flag = 0;

           break

       }

   if (flag)

       a[i] = 0;

4,5(49 оценок)
Открыть все ответы
Ответ:
yananesteshl
yananesteshl
14.11.2020
Результат работы и листинг программы в приложениях.
Написано в PascalABC.NET но должно работать во всех Паскалях.

----------------------------

PROGRAM A20;

CONST
    max = 100;
TYPE
    matrix = array[1..max,1..max]of shortint;
VAR
    ar:matrix;
    num:byte;
    i,j:byte;
    a,b,c:byte;
    q:boolean;

BEGIN
  repeat
  //  num := 5;
    write('Введите размер матрицы n=');
    readln(num);
   
    for i:=1 to num do begin
      for j:=1 to num do
        read(ar[i,j]);
    end;
 
    i:=1;//диагональ
    q:=true;
   
    while q and (i<num) do begin
      j:= i+1;//колонка и ряд
      while q and (j<=num) do begin
        a := ar[j,i];
        b := ar[i, j];
       
        if (ar[j,i] <> ar[i, j])
          then q:=false;
        j:=j+1;
      end;
      i:=i+1;
    end;
   
    if q then
      writeln('YES')
    else
      writeln('NO');
   
    write('Введите 1 чтобы продолжить. 0 чтобы завершить');
    readln(i)
  until(i=0); 
END.

Решать через pascalabc.net ( вам проверьте, является ли двумерный массив симметричным относительно г
4,6(50 оценок)
Ответ:
илья33567б0
илья33567б0
14.11.2020
Результат работы и листинг программы в приложениях.
Написано в PascalABC.NET но должно работать во всех Паскалях.

----------------------------

PROGRAM A20;

CONST
    max = 100;
TYPE
    matrix = array[1..max,1..max]of shortint;
VAR
    ar:matrix;
    num:byte;
    i,j:byte;
    a,b,c:byte;
    q:boolean;

BEGIN
  repeat
  //  num := 5;
    write('Введите размер матрицы n=');
    readln(num);
   
    for i:=1 to num do begin
      for j:=1 to num do
        read(ar[i,j]);
    end;
 
    i:=1;//диагональ
    q:=true;
   
    while q and (i<num) do begin
      j:= i+1;//колонка и ряд
      while q and (j<=num) do begin
        a := ar[j,i];
        b := ar[i, j];
       
        if (ar[j,i] <> ar[i, j])
          then q:=false;
        j:=j+1;
      end;
      i:=i+1;
    end;
   
    if q then
      writeln('YES')
    else
      writeln('NO');
   
    write('Введите 1 чтобы продолжить. 0 чтобы завершить');
    readln(i)
  until(i=0); 
END.

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