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