Diskuze: naplnenie poľa
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.

Člen

Zobrazeno 14 zpráv z 14.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
No pokud na začátku neznáš počet prvků, tak musíš použít List. Pokud by jsi to chtěl potom převést do pole tak můžeš použít ToArray()
List<int> list = new List<int>();
// ..
int[] pole = list.ToArray();
Dakujem veľmmi pekne a ešte by som chcela pomocť s takouto úlohou v
c#:
Úloha:
Uzivatel Vam zada niekolko slov a ich prekladov do vami vybraného jazyka
roznych dlzok, ukoncenie zadavania bude klavesou ESC.
Ulozite ich do vhodnej struktury.
Osobitne pre kazdy jazyk vyratate dlzky slov a ulozite do pola(pre kazdy jazyk
vlastne pole dlzok).
Vypisete tieto slova a dlzky slov v tvare:
slovo dlzka_slova preklad_slova dlzka_prekladu_slova
(napr.:
vlasy 5 hair 4
mravec 6 ant 3
kon 3 horse 5
)
Nasledne kazdu jazykovu verziu ulozite do osobitneho pola a zotriedite prislusne
slova aj ich dlzky pomocou vami vybraneho algoritmu.
Po stlaceni vami urcenej klavesy ich vypisete uzivatelovi zotriedene v
tvare
slovo dlzka_slova.
Po stlaceni inej klavesy vypisete najmensi, inej zas najvacsi a inej stredny
prvok .
To dosiahnete tak, ze pri presuvani prvkov v poli dlzok budete sucasne presuvat
aj prvky stringoveho pola.
Vsetko nech sa deje dialogom na konzole.
(napr.:
Ak chces vypisat najkratsie slovenske slovo stlac M
Ak chces vypisat najdlhsie anglicke slovo stlac L
Ak chces vidiet utriedene slovenske slova stlac U
Ak chces skoncit stlac K)
Uzivatel moze akcie aj opakovat, to znamena, dvakrat za sebou vidiet stredne slovenske slovo, az kym nestlaci danu klavesu (v mojom priklade K).
Ak by ste mi stým pomohli bola by som vam veľmi vdačna. Dakujeeeeeem. Prosííím
Myslím, že pomoc se ti může, ale tys v podstatě neřekl s čím máš
problém, ale napsal jsi co máš za domácí úkol. btw. ukládání délek slov do
pole je docela zbytečná záležitost, když si počet písmen můžeš
dohledat přes vlastnost .Length
Iba preto, že ked som to urobila, tak mi to nešlo, vypisalo mi to veľa chýb a už ani neviem ako to opraviť
Prepač, ja som iba samouk, kúpila som si knihu a robim to iba tak, chcem sa to naučiť:(
Postupuj postupně
Rozděl si to na samostatné problémy a ty pak řeš. Když sem dáš zadání domácí úlohy, nikdo ji za tebe psát nebude, kór když to napíšeš tak okatě.
Dakujem za radu, ja som to tak urobila ale vyšiel mi z toho guľaš:). Ja
už domace nedostavam,už som veľa rokov po škole,len som sa chcela niečo
nove naučiť, ale nejde mi to
V tom případě se omlouvám
Předem upozorňuji, že nejsem v c# právě kovaný, takže pokud bude
někdo znát elegantnější zápis, ať mne klidně opraví. Ten kód dělá do
jisté míry, co chceš. Snad tě postrčí správným směrem
class Program
{
public static void Main(string[] args)
{
var Slovicka = new Dictionary<string, string>();
while (true) {
Console.WriteLine("Zadej slovíčka ve formátu slovo:slovo. " +
"Ukonči pomocí >konec<");
var prikaz = Console.ReadLine();
if (prikaz == "konec") {
break;
}
var radka = prikaz.Split(Convert.ToChar(":"));
Slovicka.Add(radka[0], radka[1]);
}
Console.WriteLine("Prvni jazyk");
foreach (var slovo in Slovicka.Keys) {
Console.WriteLine("{0} : {1}", slovo, slovo.Length);
}
Console.WriteLine("Prvni jazyk");
foreach (var slovo in Slovicka.Values) {
Console.WriteLine("{0} : {1}", slovo, slovo.Length);
}
Console.ReadKey();
}
}
prikaz.Split(':');
Btw, dávat všude var není dobrý zvyk.
Prosím, SharpDevelop mne k tomu přímo nabádá
Ale ne, var je jen malé ulehčení mého utrpení, když musím vypsat
všechno, co c# chce
Raději mi prozraď, jak bys řešil elegantně ten split(), myslím tím, jak se vyhnout rozbalování přes pomocnou proměnnou, pokud to nějak jde.
var je dobré používat u LINQu nebo nějakých generických věcí (protože ti to většinou zkrátí kód). U věcí typu var str = "some string" je to spíše lenost než ulehčení.
Ohledně toho splitování tak to nejde /nepřišel jsem na to jak/, ono stejně většinou tam máš nějaké věci, které musíš ještě parsovat do správného datového typu.
Zrovna u tohodle příkladu bys mohl použít nalezení indexu toho separátoru a vzít dva substringy.
Osobně si chci vždycky zkusit naimplementovat nějaký obecný CSV loader, který naparsuje CSV na kolekci objektů. Jenže pak si vždycky řeknu, že když už něco ukládám v CSV tak to nejsou žádné big data a radši to serializuju to do XML (a později deserializuju).
U toho splitu je to moje lenost, to uznávám, ale jinak spíš souhlasím s
doporučením SharpDevelopu a zbytečně to neopisuji. Ale já v c# moc
nedělám, takže na mne nemůže nikdo dát
Mne napadlo jednoduché řešení celého problému, prostě si celý split
odpustit a zapsat inputy do svou proměnných
Zobrazeno 14 zpráv z 14.