Почему выдает неправильный результат - C#
Формулировка задачи:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Collections; // Дан массив, содержащий большое количество нулевых элементов. // Заменить все группы подряд встречающихся нулей на один нуль. namespace ConsoleApplication1 { class Program { static void Main(string[] args) { int[] arr = new int[20]; Random r = new Random(); for (int i = 0; i < arr.Length; i++) { arr[i] = r.Next(2); } for (int i = 0; i < arr.Length; i++) { Console.Write("{0} ", arr[i]); } ArrayList list = new ArrayList(); for (int i = 0; i < arr.Length - 1; i++) { if (arr[i] == 0 && arr[i + 1] == 0) { break; } list.Add(arr[i]); } Console.WriteLine("\nAfter deleting 0..."); foreach (var s in list) { Console.Write("{0} ", s); } Console.ReadKey(); } } }
Я понял. что мой break полностью завершает внешний цикл, помогите исправить
Решение задачи: «Почему выдает неправильный результат»
textual
Листинг программы
static void Main() { var arr = new[] {1, 3, 5, 0, 0, 4, 6, 0, 0, 0, 0, 0, 0, 6, 2}; var list = new List<int>(); for (int i = 0; i < arr.Length - 1; i++) if (arr[i] != 0 || arr[i + 1] != 0) list.Add(arr[i]); if (list.Last() != 0 || arr[arr.Length-1] != 0) list.Add(arr[arr.Length-1]); foreach (var v in list) Console.WriteLine(v); Console.ReadKey(true); }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д