Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

izbacivanje cifara

[es] :: C/C++ programiranje :: izbacivanje cifara

[ Pregleda: 3074 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

sannyy
student

Član broj: 277235
Poruke: 49
*.customer.blic.net.



Profil

icon izbacivanje cifara17.01.2011. u 15:45 - pre 160 meseci
Sa tastature se unose dva broja, i to prirodan broj N koji moze imati do 255 cifara i prirodan broj K u opsegu 1-255, pri cemu je K manji od broja cifara broja N. Ispisati najveci broj koji se moze dobiti izbacivanjem K cifara iz broja N, kao i pozicije obrisanih cifara.
Primjeri su navedeni dolje:
N K
123456789 3
9876543210 4
23476901548237019 8
666435324321 5

Novi broj Pozicije obrisanih cifara
456789 1,2,3
987654 7,8,9,10
958237019 1,2,3,4,5,7,8
6665432 4,5,7,8,12
 
Odgovor na temu

sannyy
student

Član broj: 277235
Poruke: 49
*.customer.blic.net.



Profil

icon Re: izbacivanje cifara17.01.2011. u 17:49 - pre 160 meseci
Dajte molim vas pomozite mi.
Da li da N deklarisem kao niz jer K mora biti manji od broja cifara od broja N, pa bih se onda mogla pozivati na duzinu niza N.
P.S. Primjere nisam napisala dobro.
 
Odgovor na temu

Nedeljko
Nedeljko Stefanović

Član broj: 314
Poruke: 8632
89.216.32.*



+2789 Profil

icon Re: izbacivanje cifara18.01.2011. u 09:05 - pre 160 meseci
Citat:
sannyy: Da li da N deklarisem kao niz jer K mora biti manji od broja cifara od broja N, pa bih se onda mogla pozivati na duzinu niza N.


Da.
Nije bitno koji su zaključci izvučeni, već kako se do njih došlo.
 
Odgovor na temu

sannyy
student

Član broj: 277235
Poruke: 49
92.36.245.*



Profil

icon Re: izbacivanje cifara19.01.2011. u 11:27 - pre 160 meseci
Postoji li mogucnost da N deklarisem kao string, pa da onda idem preko duzine stringa (strlen)?? (nadam se da sad nisam lupila s ovim string)
Nema mi smisla kako god uradim. Ne radi ono sto treba da radi, tj.
N=23476901548237019, a K=8
Novi broj: 958237019
Pozicije obrisanih cifara: 1,2,3,4,5,7,8
 
Odgovor na temu

plague
Software Developer
Auckland, NZ

Član broj: 46734
Poruke: 623
*.adsl.verat.net.



+373 Profil

icon Re: izbacivanje cifara19.01.2011. u 13:38 - pre 160 meseci
Imas li problema sa logikom zadatka ili ne znas kako da realizujes ideju? Ako imas ideju, izlozi je pa cemo smisliti nesto.
Mozes raditi na nekoliko nacina zadatak, jedan od njih je i preko stringova.
 
Odgovor na temu

chaami
Goran Petrović
nezaposlen
Beograd

Član broj: 262685
Poruke: 84
*.mediaworksit.net.



+28 Profil

icon Re: izbacivanje cifara21.01.2011. u 04:11 - pre 160 meseci
Code:
#include <iostream>

using namespace std;

int main()
{
    char niz[255];
    int k;
    cout << "UNESI NIZ ";
    cin >> niz;
    cout << "\nUNESI K ";
    cin >> k;
    int n=strlen(niz);
    int ostatak=k+1;
    int xcnt=0;
    int start=0;
    int bign=0;
    int biggest;
    while(ostatak>1)
    {
        biggest=0;
        for (int i=start;i<(start+ostatak);i++)
        {
            if (niz[i]>biggest)
            {
                biggest=niz[i];
                bign=i;
                if (i>start)
                {
                    for (int j=start;j<i;j++)
                    {
                        if (j<n)
                        {
                            niz[j]='x';
                            xcnt++;
                        }
                    }
                }

            }
        }
        ostatak=ostatak-(bign-start);
        start=bign+1;
    }
    if (xcnt<k)
    {
        for (int i=0;i<(k-xcnt);i++)
        {
            niz[n-i-1]='x';
        }
    }
    cout << "\nNAJVECI BROJ : ";
    for (int i=0;i<n;i++) if (niz[i]!='x')cout << niz[i];
    cout << "\n\nIZBACENI BROJEVI : ";
    for (int i=0;i<n;i++) if (niz[i]=='x')cout << i+1 << " ";
    cout << "\n";
    system("pause");
    return 0;
}

Ovo sam odradio cisto da bi ja vezbao.
Nisam bas siguran da ovo 100% radi. U svakom slucaju, ti proveri pa vidi kako ces dalje.
 
Odgovor na temu

chaami
Goran Petrović
nezaposlen
Beograd

Član broj: 262685
Poruke: 84
*.mediaworksit.net.



+28 Profil

icon Re: izbacivanje cifara21.01.2011. u 04:37 - pre 160 meseci
Ne radi dobro.
while petlja treba da glasi
Code:
while(ostatak>1 && ((start+ostatak)<=n))
 
Odgovor na temu

[es] :: C/C++ programiranje :: izbacivanje cifara

[ Pregleda: 3074 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.