Поиск одинаковых элементов массива - C# (182453)

Узнай цену своей работы

Формулировка задачи:

Вот само задание: Даны натуральное

n

, целые числа

a1

, …,

an

. Внутри данной последовательности могут быть повторяющиеся члены. Получить числа, взятые по одному из каждой группы равных членов. Написал такую программу:
Листинг программы
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. namespace Program2
  7. {
  8. class Program
  9. {
  10. static void Main(string[] args)
  11. {
  12. int n = int.Parse(Console.ReadLine());
  13. int[] a = new int[n];
  14. for (int i = 0; i < n; i++)
  15. {
  16. a[i] = int.Parse(Console.ReadLine());
  17. }
  18. for (int i = 0; i < n - 1; i++)
  19. for (int j = i + 1; j < n; j++)
  20. if (a[i] > a[j])
  21. {
  22. int b = a[i];
  23. a[i] = a[j];
  24. a[j] = b;
  25. }
  26. for (int i = 1; i < n; i++)
  27. {
  28. if (a[i] == a[i - 1])
  29. {
  30. Console.Write(" ");
  31. Console.WriteLine(a[i]);
  32. }
  33. }
  34. }
  35. }
  36. }
Проблема в том, что она находит одинаковые элементы, если их не больше 2-х. Если больше, то программа не работает. Как исправить, чтоб программа искала одинаковые элементы независимо от их количества? Заранее спасибо

Решение задачи: «Поиск одинаковых элементов массива»

textual
Листинг программы
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6.  
  7. namespace Program2
  8. {
  9.     class Program
  10.     {
  11.         static void Main(string[] args)
  12.         {
  13.             int n = int.Parse(Console.ReadLine());
  14.             int[] a = new int[n];
  15.             for (int i = 0; i < n; i++)
  16.             {
  17.                 a[i] = int.Parse(Console.ReadLine());
  18.             }
  19.             for (int i = 0; i < n - 1; i++)
  20.                 for (int j = i + 1; j < n; j++)
  21.                     if (a[i] > a[j])
  22.                     {
  23.                         int b = a[i];
  24.                         a[i] = a[j];
  25.                         a[j] = b;
  26.                     }
  27.             Console.WriteLine("**************");
  28.             foreach (int item in a)
  29.             {
  30.                 Console.WriteLine(item);
  31.             }
  32.             Console.ReadLine();
  33.             Console.WriteLine("**************");
  34.             int prev = 0;
  35.             for (int i = 0; i < n-1; i++)
  36.             {
  37.                
  38.                 if (a[i] == a[i +1] && prev != a[i])
  39.                 {
  40.                     prev = a[i];
  41.                     Console.Write(a[i]+" ");
  42.                    
  43.                 }
  44.             }
  45.             Console.ReadLine();
  46.         }
  47.     }
  48. }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 3.667 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы