Forum » Programiranje » [C#] Kako se lotiti naloge
[C#] Kako se lotiti naloge
Cvenemir ::
Lep pozdrav.
Zanimajo me predlogi, kako bi se lotil naslednje naloge:
"Izdelajte program, ki bo vneseno celo število izpisal v "grafični" obliki (uporabite znake minus, plus, klicaje ipd.)"
A to za vsako število od 0-9 izdelam funkcijo in jih potem kličem v MAIN programu? Ali obstaja kakšen bolj kompakten način?
Zanimajo me predlogi, kako bi se lotil naslednje naloge:
"Izdelajte program, ki bo vneseno celo število izpisal v "grafični" obliki (uporabite znake minus, plus, klicaje ipd.)"
A to za vsako število od 0-9 izdelam funkcijo in jih potem kličem v MAIN programu? Ali obstaja kakšen bolj kompakten način?
darkolord ::
Če boš tako naredil, kot si napisal, potem boš imel vsako števko izpisano v svoji "vrstici". Če hočeš eno za drugo, boš moral malenkost drugače...
Cvenemir ::
A se ne da zlepit nize izpisov skupaj, da bi bili v eni vrstici?
Zgodovina sprememb…
- spremenil: Cvenemir ()
darkolord ::
Lepiti jih moraš sam po vrsticah.
FrEaKmAn, recimo takole:
FrEaKmAn, recimo takole:
.o .oooo. .oooo. o888 .dP""Y88b .dP""Y88b 888 ]8P' ]8P' 888 .d8P' <88b. 888 .dP' `88b. 888 .oP .o o. .88P o888o 8888888888 `8bd88P'
Zgodovina sprememb…
- spremenilo: darkolord ()
LeQuack ::
Moja rešitev z uporabo 7 vrstične grafike.
Izpis programa je tak:
/// <summary>
/// Program izpise celo stevilo s pomocjo ASCII grafike.
/// Grafika pridobljena na strani ASCII Generator (http://www.network-science.de/ascii/)
/// </summary>
class Program
{
// Array za 10 stevil visine 7 vrstic
private static String[] stevilke = {
" ### # ##### ##### # ####### ##### ####### ##### ##### ",
" # # ## # # # # # # # # # # # # # # # ",
" # # # # # # # # # # # # # # # ",
" # # # ##### ##### # # ###### ###### # ##### ###### ",
" # # # # # ####### # # # # # # # ",
" # # # # # # # # # # # # # # # # ",
" ### ##### ####### ##### # ##### ##### # ##### ##### "};
// Array za znak minus
private static String[] minus = {
" ",
" ",
" ",
" ##### ",
" ",
" ",
" "};
// Ker stevilke niso enakih sirin shranimo zacetno in koncno pozicijo vsake stevilke
private static int[] pozicijaStevilke = { 1, 9, 16, 24, 32, 40, 48, 56, 64, 72, 80 };
static void Main(string[] args)
{
// Branje vhodnega stevila
Console.Write("Vnesite poljubno celo stevilo: ");
int stevilo = int.Parse(Console.ReadLine());
string steviloText = Math.Abs(stevilo).ToString();
int[] steviloArray = new int[steviloText.Length];
for (int i = 0; i < steviloText.Length; ++i)
steviloArray[i] = int.Parse(steviloText[i].ToString());
// Vsako vrstico izpisemo posebej
for (int i = 0; i < stevilke.Length; ++i)
{
// Ce je negativno izpisemo minus
if (stevilo < 0)
Console.Write(minus[i] + " ");
// Gremo skozi vse posamezne stevilke in glede na zacetno in
// koncno pozicijo izpisemo del stringa
foreach (int st in steviloArray)
Console.Write(stevilke[i].Substring(
pozicijaStevilke[st] - 1,
pozicijaStevilke[st + 1] - pozicijaStevilke[st]) + " ");
// Nova vrstica
Console.WriteLine();
}
// Pritisni katerokoli tipko za izhod
Console.ReadKey();
}
}
Izpis programa je tak:
Vnesite poljubno celo stevilo: -567
####### ##### #######
# # # # #
# # #
##### ###### ###### #
# # # #
# # # # #
##### ##### #
Quack !
Zgodovina sprememb…
- spremenil: LeQuack ()
Vredno ogleda ...
| Tema | Ogledi | Zadnje sporočilo | |
|---|---|---|---|
| Tema | Ogledi | Zadnje sporočilo | |
| » | BBC bo razdelil milijon računalnikov Micro Bit britanskim sedmošolcemOddelek: Novice / Ostale najave | 11198 (7708) | bbbbbb2015 |
| » | Wireless attackOddelek: Informacijska varnost | 2161 (1968) | LitralSM |
| » | Anonymous in napadi na razne ustanoveOddelek: Loža | 1974 (1707) | @nny |
| » | C# - Grafični izpis številOddelek: Programiranje | 1797 (1693) | someone1 |
| » | TRDI DISK ExcelStor! NITI PRIBLIŽNOOddelek: Pomoč in nasveti | 1173 (922) | dash_wallace |