Удаление элементов из массива - C# (181812)

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

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

Дан целочисленный массив размера N. Удалить из массива все одинаковые элементы, оставив их первые вхождения.
Листинг программы
  1. int n,i,j,k;
  2. Console.Write("n=");
  3. n = Convert.ToInt32(Console.ReadLine());
  4. int [] a = new int[n];
  5. Console.WriteLine("Исходный массив:");
  6. for( i=0; i<n; i++) {
  7. Console.Write("Элемент",a[i]);
  8. a[i]= Convert.ToInt32(Console.ReadLine());}
  9. Console.WriteLine();
  10. do{j=i+1;
  11. do {
  12. if (a[j] == a[i])
  13. {
  14. for (k = j; k < n - 1; k++) { a[k] = a[k + 1]; n = n - 1; }
  15. }
  16. else j = j + 1;
  17. } while (j <= n);
  18. i = i + 1;
  19. }
  20. while (i<=n);
  21. Console.WriteLine("Массив без повторений");
  22. for (i = 1; i < n; i++) { Console.Write("{0}", a[i]); }
  23. Console.ReadKey();
Суть: Ругается на фрагмент
Листинг программы
  1. if (a[j] == a[i])

Решение задачи: «Удаление элементов из массива»

textual
Листинг программы
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5.  
  6. namespace ConsoleApplication1
  7. {
  8.     class Program
  9.     {
  10.         static void Main(string[] args)
  11.         {
  12.  
  13.  
  14.             int n, i, j, k, c;
  15.             Console.Write("Кол-во элементов n= ");
  16.             n = Convert.ToInt32(Console.ReadLine());
  17.             int[] a = new int[n];
  18.            
  19.             Console.WriteLine("Исходный массив:");
  20.             for (i = 0; i < n; i++)
  21.             {
  22.                 Console.Write("Элемент ", a[i]);
  23.                 a[i] = Convert.ToInt32(Console.ReadLine());
  24.             }
  25.             j = 1;
  26.            
  27.             for (i = 1; i < n; i++)// сравнение каждого отдельно взятого элемента по отдельности
  28.             {
  29.  
  30.  
  31.                 for (c = 2; c <= n; c = c + i)/*пробегаем по каждому элементу*/ {  if (a[j] == a[i - 1]) {  for (k = j; k < n - 1; k++) { a[k] = a[k + 1]; } n = n - 1; } else j = j + 1; }//формируем новый массив уменьшая последовательно кол-во повторяющихся элементов
  32.                
  33.                 j = i+1;
  34.                
  35.  
  36.                
  37.             }
  38.  
  39.  
  40.          
  41.  
  42.  
  43.  
  44.             Console.WriteLine("Массив без повторений");
  45.              for (i = 0; i < n; i++)   { Console.Write("{0}", a[i]); }
  46.             Console.ReadKey();
  47.  
  48.  
  49.  
  50.         }
  51.     }
  52. }

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


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

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

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

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

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

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