Loading...
PoliDobreva avatar PoliDobreva 1 Точки

SafeManipulation problem from Arrays More Exercises

Здравейте. Трябва ми малко помощ за тази задача: 

Ето го и моят код...пропускам някой case, но не ми идват повече идеи:

https://pastebin.com/QwPhG7GL

Problem 1.Safe Manipulation

Now we need to make our program safer and more user-friendly. Make the program print “Invalid input!” if we try to replace an element at a non-existent index or an invalid command is written on the console. Also make the program work until the command “END” is given as an input.

Input

  • On the first line, you will receive the string array
  • On the next lines until you receive “END” – you will receive commands

Output

At the end, print the array in the following format:

{1st element}, {2nd element}, {3rd element} … {nth element}

Constraints

  • Only a single whitespace will be used for the separator.
  • n will be an integer in the interval [1…100]

Examples

Input

Output

one one one two three four five

Distinct

Reverse

Replace 7 Hello

Replace -5 Hello

Replace 0 Hello

END

Invalid input!

Invalid input!

Hello, four, three, two, one

Input

Output

Alpha Bravo Charlie Delta Echo Foxtrot

Distinct

Reverse

Replace 0 Charlie

Reverse

Replace 1 Charlie

Distinct

Replace 4 Charlie

END

Invalid input!

Invalid input!

Alpha, Charlie, Delta, Echo

Тагове:
0
Programming Basics
NikolayNeykov92 avatar NikolayNeykov92 617 Точки

Здравей, проблема е при командата Replace смених ти try-catch конструкцията с един if-else 

ето промененият код:

using System;
using System.Linq;

namespace SafeManipulation
{
    class Program
    {
        static void Main(string[] args)
        {
            string[] array = Console.ReadLine().Split(' ').ToArray();
            string[] command = new string[3];

            while (command[0] != "END")
            {
                command = Console.ReadLine().Split(' ').ToArray();

                if (command[0] == "Distinct")
                {
                    array = array.Distinct().ToArray();
                }

                else if (command[0] == "Reverse")
                {
                    array = array.Reverse().ToArray();
                }

                else if (command[0] == "Replace")
                {
                    int index = int.Parse(command[1]);

                    if (index < 0 || index > array.Length - 1)
                    {
                        Console.WriteLine("Invalid input!");
                    }
                    else
                    {
                        array[index] = command[2];
                    }
                }

                else if (command[0] == "END")
                {
                    goto finish;
                }

                else
                {
                    Console.WriteLine("Invalid input!");
                }
            }

            finish: Console.WriteLine(string.Join(", ", array));

        }
    }
}

1
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.