Удаление элементов из массива - C# (181812)
Формулировка задачи:
Дан целочисленный массив размера N. Удалить из массива все одинаковые элементы, оставив их первые вхождения.
Суть:
Ругается на фрагмент
Листинг программы
- int n,i,j,k;
- Console.Write("n=");
- n = Convert.ToInt32(Console.ReadLine());
- int [] a = new int[n];
- Console.WriteLine("Исходный массив:");
- for( i=0; i<n; i++) {
- Console.Write("Элемент",a[i]);
- a[i]= Convert.ToInt32(Console.ReadLine());}
- Console.WriteLine();
- do{j=i+1;
- do {
- if (a[j] == a[i])
- {
- for (k = j; k < n - 1; k++) { a[k] = a[k + 1]; n = n - 1; }
- }
- else j = j + 1;
- } while (j <= n);
- i = i + 1;
- }
- while (i<=n);
- Console.WriteLine("Массив без повторений");
- for (i = 1; i < n; i++) { Console.Write("{0}", a[i]); }
- Console.ReadKey();
Листинг программы
- if (a[j] == a[i])
Решение задачи: «Удаление элементов из массива»
textual
Листинг программы
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- namespace ConsoleApplication1
- {
- class Program
- {
- static void Main(string[] args)
- {
- int n, i, j, k, c;
- Console.Write("Кол-во элементов n= ");
- n = Convert.ToInt32(Console.ReadLine());
- int[] a = new int[n];
- Console.WriteLine("Исходный массив:");
- for (i = 0; i < n; i++)
- {
- Console.Write("Элемент ", a[i]);
- a[i] = Convert.ToInt32(Console.ReadLine());
- }
- j = 1;
- for (i = 1; i < n; i++)// сравнение каждого отдельно взятого элемента по отдельности
- {
- 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; }//формируем новый массив уменьшая последовательно кол-во повторяющихся элементов
- j = i+1;
- }
- Console.WriteLine("Массив без повторений");
- for (i = 0; i < n; i++) { Console.Write("{0}", a[i]); }
- Console.ReadKey();
- }
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д