Program v C#

Napiši program, ki vsebuje funkcijo, ki izpiše vsa števila med 0 in 1000, katerih vsota števk je enaka številu, ki nastopa kot parameter te funkcije.

bi znal kdo to ?

13 odgovorov

Kje je pa problem? Naredis zanko, ki veca nek stevec od 0 do 1000, za vsako stevilo sesteje cifre, preveri ce je njihova vsota enaka zahtevanemu stevilu in to vrednost stevca izpise.

vini: problem je v njegovi lenobi
nokaut240: ja večina tukaj nas zna to naredit :D

Dejte mu poj no napisat :-).Ker jz bi tud rad vedu, kako se to izpiše.....

hedonist, tocno tako, kot sem napisal zgoraj...

Ledi:
vini: problem je v njegovi lenobi
nokaut240: ja večina tukaj nas zna to naredit :D

Ni problem v lenobi, problem je v tem, da sem šele začetnik in se šele učim nekatere zadeve.

Potem veš kaj je for zanka? :)

Vem, vendar če veš, kaj je for zanka, še nisi odkril sveta. Ukaz for(int x=0; x<1000; x++) je začetek tistega, kar je treba naredit, naprej je pa že bolj zakomplicirano, pametnjakoviči.

No pa funkcijo verjetno tudi znaš napisati, takšno z enim parametrom... potem pa znotraj for zanke za vsak x preverjaš če je vsota števk števila x enaka številu, ki je podano kot parameter funkcije ...

Da x razbiješ na števke pa imaš več možnosti... lahko pocaš gor pa dol pa deliš z 10 in uporabljaš floor() ali kar pač je namesto tega v C# (jaz ne vem :) ) ali pa ... seštevaš ostanke pri deljeno z 10 (x%10 v javi recimo) v še eni for zanki, dokler je število ni enako 0 ...

recimo ko je x = 234

234 / 10 = 23 + 4 (ostanek)
23 / 10 = 2 + 3
2 / 10 = 0 + 2

pa sešteješ ostanke if 4 + 3 + 2 je deljivo z številom, ki je podano kot parameter funkcije, in v primeru true izpišeš število ...

nokaut240, to, da si zacetnik je blazno pripraven izgovor za to da si len :) for zanka, sestevanje cifer in primerjanje stevil med seboj je nekaj tako osnovnega, da brez tega ne bos znal nic drugega, malo se potrudi...

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

namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{

        //kreiramo spremenljivko vsota, določimo začetno vrednost

        int vsota = 0;

        int stevilo = 0;

        Console.WriteLine("Vnesi število: ");
        int a = Convert.ToInt32(Console.Read());

        //zanka teče dokler ne pridemo s števili do 1000

        while (stevilo < 1000)
        {
            int zankanoStevilo = stevilo;
            //zanka teče dokler ne zmanjka števk

            while (zankanoStevilo > 0)
            {
                int posameznaStevka = zankanoStevilo % 10;
                zankanoStevilo = zankanoStevilo / 10;
                vsota = vsota + posameznaStevka;
            }
            //če je vsota števk enaka vnosu ga izpišemo

            if (vsota == a)
            {
                Console.Write(stevilo + " ");
            }
            vsota = 0;
            stevilo++;
        }
    }
}

}

Kje je napaka ?