Софтуерно Инженерство
Loading...
+ Нов въпрос
Maximhristov123 avatar Maximhristov123 0 Точки

2. Change List

Къде е грешката? Дава ми, че надвишавам памет? Как да го оправя, колеги?

 

using System;
using System.Linq;
using System.Collections.Generic;

namespace zad02ChangeList
{
    class Program
    {
        static void Main(string[] args)
        {
            List<int> numbers = Console.ReadLine()
                .Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries)
                .Select(int.Parse)
                .ToList();

            string line = Console.ReadLine();

            while (line != "Odd" || line != "Even")
            {
                string[] command = line
                    .Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries)
                    .ToArray();

                string manipulator = command[0];

                if (manipulator == "Delete")
                {
                    int element = int.Parse(command[1]);
                    numbers.RemoveAll(x => x == element);
                }
                else if (manipulator == "Insert")
                {
                    int element = int.Parse(command[1]);
                    int position = int.Parse(command[2]);
                    numbers.Insert(position, element);
                }
            }

            if (line == "Odd")
            {
                numbers.RemoveAll(x => x % 2 == 1);
            }
            else if (line == "Even")
            {
                numbers.RemoveAll(x => x % 2 == 0);
            }

            Console.WriteLine(string.Join(" ", numbers));

        }
    }
}
 

Тагове:
0
Programming Fundamentals
Quake3 avatar Quake3 546 Точки

Здравей,

while (line != "Odd" || line != "Even") ще се върти вечно, защото line не се променя вътре в него.

можеш да го избегнеш примерно с:

string line = string.Empty;
   while (true)
   {
      line = Console.ReadLine();
      if (line == "Odd" || line == "Even")
      {
         break;
      }
      ...

само по себе си:  нещо != друго нещо или(||) нещо != трето нещо винаги е вярно.

0
04/06/2018 21:21:38