Удаление элементов из массива - 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(); } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д