» »

[C#] razlaga

[C#] razlaga

krastača ::

Nalogo:

"Napiši program, ki bere cela števila tako dolgo, dokler ne vpišeš 0. V zanki sproti računa vsoto absolutne vrednosti vpisanih števil in na koncu izpiše povprečno vrednost na 6 celih in 2 decimalni mesti. Uporabi zanko while."

sem samo probala rešiti takole:

            int x, y, povprečnaVrednost;
            Console.Write("Vpiši prvo celo število: ");
            x = int.Parse(Console.ReadLine());
            Console.Write("Vpiši drugo celo število: ");
            y = int.Parse(Console.ReadLine());
            povprečnaVrednost = (x + y) / 2;

            while (x != 0 && y != 0)
            {
                Console.WriteLine("Povprečna vrednost vpisanih števil je: {0, 6:f2}!", povprečnaVrednost);
                Console.ReadLine();
            }


Vendar, imam slab občutek, da to ni to kar je bilo naročeno pri nalogi. Kako bi mogla po vašen nalogo zasnovati?

:|

detroit ::

hmm delam izglave as usual tko da
Console.Write("Vpiši celo število:");

int sum;
int count;
while (var st = int.Parse(Console.ReadLine() != 0) //mogoče je potrebno celo var st in njega pars vrž vrstico višje
{
    sum = sum + st;
    count++;
}

v konzolo pošleš sum/count


ne se obesit na napake delam 10stvari:)
Skero

Zgodovina sprememb…

  • spremenil: detroit ()

krastača ::

ja samo kaj pa če je mislil long in seštevek naprimer: 123456 števila v eno cifro? in nato povprečje! A je kje kaka stan, ki bi mi to malo razložila?

kot je: 1+2+3+4+5+6=21
povprečje pa je = 21/6 =3,5 torej 3 :O

Zgodovina sprememb…

  • spremenilo: krastača ()

Spura ::

ne, je precej logicno kaj hocejo.
int sum = 0;
int count = 0;
int st = 0;
while (st = int.Parse(Console.ReadLine() != 0)) //mogoče je potrebno celo var st in njega pars vrž vrstico višje
{
    if (st > 0) {
        sum += st;
    } else {
        sum -= st;
    }
    count++;
}
float average = count == 0 ? 0f : sum / (float)count;

Zgleda da dost zmedeno vse skupaj dojemas. Ne razumes ne zahtev in ne resitev. Upam, da nisi na kakem faksu za te stvari, ker bi to znalo bit problem.

Zgodovina sprememb…

  • spremenil: Spura ()

TheDomingo ::

Upam, da ti bo pomagalo:
double povprecnaVrednost;
int stevilo, vsotaStevil = 0, steviloElementov=0;

Console.Write("Vnesi število: ");
stevilo = int.Parse(Console.ReadLine());

            
while(stevilo!=0)
{
    vsotasStevil = vsotasStevil + Math.Abs(stevilo);
    steviloElementov++;

    Console.Write("Vnesi število: ");
    stevilo = int.Parse(Console.ReadLine());                
}

povprecnaVrednost = vsotasStevil / steviloElementov;

Console.WriteLine("Povprečna vrednost števil: {0:000000.00}", povprecnaVrednost);

Zgodovina sprememb…

krastača ::

Hvala TheDomingo, za trud a mi javi napako glede stevilaElementov. A si pri sebi poskusil zagnati?

gendale ::

od TheDomingo dela edino zatipkal se je in na pra mestih piše vsotssStevil namesto vsotaStevil
seznam zanč moderatorjev in razlogov da so zanč
http://pastebin.com/QiWny5dV
gor je mavrik apple uporabniček (mali možgani in mali penis)

krastača ::

sem skopirala kot je imel ter popravila vsa imena kot je potrebno pa mi program skace "Vpiši stevilo:" non stop in nič drugega - uporabljam visual 2008 a je morda različnost programov?

Zgodovina sprememb…

  • spremenilo: krastača ()

detroit ::

1. kakor na uč vidim so vse zadeve delujoče (če jih uporabiš kot psevdo kodo kakor ti je tudi dana, čeprav v precej "realnem" izgledu)
2. Ne poslušej spure, demotivacijo lahko najdeš kjer češ drugje;)
Skero

FrEaKmAn ::

še moj pristop. Delamo dokler ne pridemo do 0, pri čemer 0 ne upoštevamo pri računanju povpračja. Edino nevem kaj je mišljeno za povprečje
- ali povprečje absolutnih števil
- ali povprečje vnešenih števil (to dela trenutna koda)

   
double average = 0;
int input, sum = 0, inputs = -1; // ne stejemo 0

do 
{
    Console.WriteLine("Vnesi število:");
    input = Convert.ToInt32(Console.ReadLine());
                
    sum += Math.Abs(input);
    average += input;

    inputs++;
}
while(input != 0);

Console.WriteLine("Absolute sum is: {0}", sum);
Console.WriteLine("Average is: {0:000000.00}", average / inputs);
Console.ReadLine();

Zgodovina sprememb…

  • spremenil: FrEaKmAn ()

krastača ::

lolz, sem komaj pri 19 nalogi od 40 pri (if, if else, switch case, while, do while, for, foreach) počutim se kot ta najnižja uš na zemeljski kugli. Groza je to ko ne kapiraš! :'( in FrEaKmAn - hvala za tvoj trut a se zacikla pri Vnesi število :(

FrEaKmAn ::

kako misliš zacikla? Pač program nč ne dela če ne vpišeš številke...

krastača ::

Ko zaženem tvoj program in vpišem številko me kar naprej spet vpraša po Vpiši številko in to on and on - to sem mislila kot zacikla.

Zgodovina sprememb…

  • spremenilo: krastača ()

gendale ::

in ko napišeš 0?
seznam zanč moderatorjev in razlogov da so zanč
http://pastebin.com/QiWny5dV
gor je mavrik apple uporabniček (mali možgani in mali penis)

bigbada ::

Ja saj to je point da ti skos izpisuje vpiši številko: ... in vpisuješ številke dokler ne vneseš 0... :)

darkkk ::

ufff
Long way to go there ...

string s;
int st;
int sum = 0;
int count = 0;
bool ok = true;

while(ok){
     Console.WriteLine("vnesi... ");
     s = Console.ReadLine();
     if(Int32.TryParse(s, out st)) continue;        //vnose, ki niso stevila izpustimo 
     else if(st == 0) break;   // koncas vnose
     else{
         sum += st;
         count++;
     }
     //se izpise porihtas, povprecje je (double)sum/count
}



Zgodovina sprememb…

  • spremenil: darkkk ()

krastača ::

Še enkrat "Hvala, za pomoč pri nalogi!" *huggs*


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

c sharp LinkedList - Naloga

Oddelek: Programiranje
91862 (1813) Msatir
»

[C#] Input string was not in a correct format.

Oddelek: Programiranje
61092 (1029) Cvenemir
»

[C#] Reševanje domačih nalog

Oddelek: Programiranje
173283 (2787) krastača

[C#]naloga iz metod!

Oddelek: Programiranje
81674 (1507) Ziga Dolhar
»

Naloga v C#

Oddelek: Programiranje
72618 (2118) Hardstyle

Več podobnih tem