C # - číslo na provázku mapování - Tough Logic

hlasů
0

Můj TL mě požádal, abych provést toto:

Máme-li abecedy v angličtině označuje jako

a   1
b   2
c   3
d   4
e   5
f   6
g   7
h   8
i   9
j   1
k   2
l   3
m   4
n   5
o   6
p   7
q   8
r   9
s   1
t   2
u   3
v   4
w   5
x   6
y   7
z   8

samohlásky by

a   1
e   5
i   9
o   6
u   3

Uživatel by vstoupit:

  1. Počet samohlásek
  2. Součet
  3. Počet znaků:

Teď potřebuji pro zobrazení řetězec délky: počet znaků, zadaných uživatelem.
Řetězec bude mít dvě části:
První část by měla samohlásek s částkou zadané uživatelem.
Druhá část by byla délka [počet Chars zadaných uživatelem - samohlásek podle první polovině provázku výše] a součet by byl stejný zadána uživatelem.

Může kterýkoli subjekt zápisu C # kód pro toto. Snažil jsem se opravdu tvrdě, ale nemohl přijít na to.

Pomoci by bylo velmi ocenil.

Tady je můj kód tak daleko:

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

namespace VowelsAndConsonants
{
    class Program
    {
        static void Main(string[] args)
        {
            //Gather Info from the User
            Console.WriteLine(Please Enter Number of Vowels);
            string numVowels = Console.ReadLine();
            Console.WriteLine(Please Enter the Total);
            string total = Console.ReadLine();
            Console.WriteLine(Please Enter the Number of Chars);
            string numChars = Console.ReadLine();
            //Convert the Strings entered by User to int
            int inNumVowels = Convert.ToInt16(numVowels);
            int intTotal = Convert.ToInt16(total);
            int intNumChars = Convert.ToInt16(numChars);
            //Populate the Array with all the alphanets
            string[,] arr = new string[,] { { a, 1 }, { b, 2 }, { c, 3 }, { d, 4 }, { e, 5 }, { f, 6 }, { g, 7 }, { h, 8 }, { i, 9 }, { j, 1 }, { k, 2 }, { l, 3 }, { m, 4 }, { n, 5 }, { o, 6 }, { p, 7 }, { q, 8 }, { r, 9 }, { s, 1 }, { t, 2 }, { u, 3 }, { v, 4 }, { w, 5 }, { x, 6 }, { y, 7 }, { z, 8 } };
            string[] resArr= new string[20];// = null;
            for (int i = 0; i < intNumChars; i++)
            {
                //The logic you guys would suggest goes here
                resArr[0]=arr[,];
                //Display the string
                Console.WriteLine();
            }
        }
    }
}
Položena 27/08/2009 v 05:36
zdroj uživatelem
V jiných jazycích...                            


2 odpovědí

hlasů
6

Nejtěžší není psaní kódu. Nejtěžší je přijít na to, co je algoritmus je, že tento problém řeší. Jakmile budete mít algoritmus pevný, převést ji do kódu bude jednoduché.

Jaké jsou vaše myšlenky na algoritmu? Začít s některými nepřirozený příklady. Například předpokládejme, že jsou dány 1/9/2. Řešení, které je IR. Jak byste, jako člověk, přišel s tímto řešením? Můžete popsat způsob, kterým jste u člověka, který by se vždy přijít s odpovědí?

Odpovězeno 27/08/2009 v 07:03
zdroj uživatelem

hlasů
0

Myslím, že jste na špatné stopě s využitím mod.

Zdá se mi, že se jedná o variace na „chamtivý algoritmus“ problém, normálně spojené s prací mimo účinnou změnu s mincemi v domácí úkoly otázek, ale myslím, že to se zdá být varianta ní.

Wikipedia má stránku na něj , a jsem si jist, googling chamtivý algoritmus vám pomohl ven.

Odpovězeno 27/08/2009 v 06:24
zdroj uživatelem

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more