Print Deck

Здравейте! Написах следният код и ми отчете само 66 точки :

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

class Program
{
static void Main()
{
Console.Write("");
int numberOfDeck = int.Parse(Console.ReadLine());

    for (int i = 2; i <= numberOfDeck; i++)
    {

        if (i == 14)
        {
            Console.Write($"A of spades, ");
            Console.Write($"A of clubs, ");
            Console.Write($"A of hearts, ");
            Console.Write($"A of diamonds");
            Console.WriteLine("");
            continue;
        }
        if (i == 11)
        {
            Console.Write($"J of spades, ");
            Console.Write($"J of clubs, ");
            Console.Write($"J of hearts, ");
            Console.Write($"J of diamonds");
            Console.WriteLine("");
            continue;
        }
        if (i == 12)
        {
            Console.Write($"Q of spades, ");
            Console.Write($"Q of clubs, ");
            Console.Write($"Q of hearts, ");
            Console.Write($"Q of diamonds");
            Console.WriteLine("");
            continue;
        }
        if (i == 13)
        {
            Console.Write($"K of spades, ");
            Console.Write($"K of clubs, ");
            Console.Write($"K of hearts, ");
            Console.Write($"K of diamonds");
            Console.WriteLine("");
            continue;
        }
        Console.Write($"{i} of spades, ");
        Console.Write($"{i} of clubs, ");
        Console.Write($"{i} of hearts, ");
        Console.Write($"{i} of diamonds");
        Console.WriteLine("");
    }
}

}

По този начин ми даде 66 точки. Пробвах и следният вариант ,но не ми отчете нищо :

Console.Write("");
int numberOfDeck = int.Parse(Console.ReadLine());

    for (int i = 1; i <= numberOfDeck; i++)
    {

        if (i == 1)
        {
            Console.Write($"A of spades, ");
            Console.Write($"A of clubs, ");
            Console.Write($"A of hearts, ");
            Console.Write($"A of diamonds");
            Console.WriteLine("");
            continue;
        }
        if (i == 11)
        {
            Console.Write($"J of spades, ");
            Console.Write($"J of clubs, ");
            Console.Write($"J of hearts, ");
            Console.Write($"J of diamonds");
            Console.WriteLine("");
            continue;
        }
        if (i == 12)
        {
            Console.Write($"Q of spades, ");
            Console.Write($"Q of clubs, ");
            Console.Write($"Q of hearts, ");
            Console.Write($"Q of diamonds");
            Console.WriteLine("");
            continue;
        }
        if (i == 13)
        {
            Console.Write($"K of spades, ");
            Console.Write($"K of clubs, ");
            Console.Write($"K of hearts, ");
            Console.Write($"K of diamonds");
            Console.WriteLine("");
            continue;
        }
        Console.Write($"{i} of spades, ");
        Console.Write($"{i} of clubs, ");
        Console.Write($"{i} of hearts, ");
        Console.Write($"{i} of diamonds");
        Console.WriteLine("");
    }

бихте ли ми казали къде бъркам?

1 Like

Привет, Димитър,

и аз се блъскам от 2 дни на тази задача - за сега само с частичен успех (и то )

Според мен проблемът е, че имаме за Вход или число (от 2 до 10), или буква(A,K,Q, и J). Когато е буква отново трябва да се добавят и редовете за числата от 2 до 10. Аз опитах през АSCII-таблицата, но немога да представя 10, като char.

Bъв Visual Studio само c 10-ката не ми става, т.е. за вход от 2-9 или А,К,Q,J кодът ми е окай. Обаче Judge-системата ми дава Invalid return + Wrong Answer.

Когато имам окончателно решение ще споделя отново.

Поздрави и успех.
Добромир

1 Like

1-во това Console.Write(""); е излишно
2-ро input-a ти е int , а задачата изисква да може да се въведе J K Q A , което е string или char , но не и int

2 Likes

Аха ,да , вероятно е това ! Сега ще опитам отново по този начин :slight_smile: .

Благодаря!Разбрах къде бъркам ,сега ще опитам отново.

Получих точките ,но решението не ми изглежда много елегантно.Ще го разгледам и опитам да оптимизирам.Ако имате идеи за по просто решение ще се радвам да го споделите!А ето го и него :

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

class Program
{
static void Main()
{
string numberOfDeck = Console.ReadLine();
int intNum = 1;
if (numberOfDeck == “2” || numberOfDeck ==“3” || numberOfDeck == “4” || numberOfDeck == “5” || numberOfDeck == “6” || numberOfDeck == “7”
|| numberOfDeck == “8” || numberOfDeck == “9” || numberOfDeck == “10”)
{
intNum = int.Parse(numberOfDeck);
}

    if (numberOfDeck == "J")
    {
         intNum = int.Parse("11");
    }
    else if (numberOfDeck == "Q")
    {
        intNum = int.Parse("12");
    }
    else if (numberOfDeck == "K")
    {
        intNum = int.Parse("13");
    }
    else if (numberOfDeck == "A")
    {
        intNum = int.Parse("14");
    }

    for (int i = 2; i <= intNum; i++)
    {
        if (i == 14)
        {
            Console.Write($"A of spades, ");
            Console.Write($"A of clubs, ");
            Console.Write($"A of hearts, ");
            Console.Write($"A of diamonds");
            Console.WriteLine("");
            continue;
        }
        if (i == 11)
        {
            Console.Write($"J of spades, ");
            Console.Write($"J of clubs, ");
            Console.Write($"J of hearts, ");
            Console.Write($"J of diamonds");
            Console.WriteLine("");
            continue;
        }
        if (i == 12)
        {
            Console.Write($"Q of spades, ");
            Console.Write($"Q of clubs, ");
            Console.Write($"Q of hearts, ");
            Console.Write($"Q of diamonds");
            Console.WriteLine("");
            continue;
        }
        if (i == 13)
        {
            Console.Write($"K of spades, ");
            Console.Write($"K of clubs, ");
            Console.Write($"K of hearts, ");
            Console.Write($"K of diamonds");
            Console.WriteLine("");
            continue;
        }
        Console.Write($"{i} of spades, ");
        Console.Write($"{i} of clubs, ");
        Console.Write($"{i} of hearts, ");
        Console.Write($"{i} of diamonds");
        Console.WriteLine("");
    }

}

}

1 Like

string[] cards = new string[] { “2”, “3”, “4”, “5”, “6”, “7”, “8”, “9”, “10”, “J”, “Q”, “K”, “A” };
string input = Console.ReadLine();

        for (int i = 0; i < cards.Length;i++)
        {
            Console.Write("{0} of spades, {0} of clubs, {0} of hearts, {0} of diamonds",cards[i]);
            Console.WriteLine();
            if(cards[i] == input)
            {
                break;
            }
        }

Виж това, може да е полезно: