nadpisywanie wartości w tablicy
Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?
Zarejestruj się!

nadpisywanie wartości w tablicy

AutorWiadomość
Temat założony przez niniejszego użytkownika
nadpisywanie wartości w tablicy
» 2019-10-27 13:12:15
Cześć, nie mogę sobie poradzić z zadaniem. Mam napisać program ,który liczy ilość poszczególnych cyfr w wpisanej liczbie. Np. wpisuję 12345 , program pokazuje 0:0 , 1:1 , 2:1 , 3:1 , 4:1 , 5:1 , 6:0 , 7:0 , 8:0 , 9:0
Problem w tym ,że mój program działa tylko do dziesięciocyfrowej liczby.

#include<iostream>
using namespace std;
int main()
{
int a,i,suma[11]={};
cin>>i;
    while(i>0)
    {
        a=i%10;
        if(a==0)
            suma[0]=suma[0]+1;
        if(a==1)
            suma[1]=suma[1]+1;
        if(a==2)
            suma[2]=suma[2]+1;
        if(a==3)
            suma[3]=suma[3]+1;
        if(a==4)
            suma[4]=suma[4]+1;
        if(a==5)
            suma[5]=suma[5]+1;
        if(a==6)
            suma[6]=suma[6]+1;
        if(a==7)
            suma[7]=suma[7]+1;
        if(a==8)
            suma[8]=suma[8]+1;
        if(a==9)
            suma[9]=suma[9]+1;
        i=i/10;
    }
cout<<"0: "<<suma[0]<<endl;
cout<<"1: "<<suma[1]<<endl;
cout<<"2: "<<suma[2]<<endl;
cout<<"3: "<<suma[3]<<endl;
cout<<"4: "<<suma[4]<<endl;
cout<<"5: "<<suma[5]<<endl;
cout<<"6: "<<suma[6]<<endl;
cout<<"7: "<<suma[7]<<endl;
cout<<"8: "<<suma[8]<<endl;
cout<<"9: "<<suma[9]<<endl;
}
P-175436
» 2019-10-27 16:36:46
Jeżeli możesz to pisz dokładną treść zadania.
Twój program nie wymaga, żadnej tablicy.
Wystarczą 2 zmienne
"liczba" którą wprowadzi user
"suma" nazwa mówi sama za siebie
i pętla
C/C++
while( liczba != 0 )
{
    //function body 2 linijki kodu wystarcza
}
P-175437
» 2019-10-27 16:57:02
Problem w tym ,że mój program działa tylko do dziesięciocyfrowej liczby.
Nie ma tu powodu, żeby traktować ją jako liczbę. Wczytaj jako napis.

C/C++
a = i % 10;
if( a == 0 )
     suma[ 0 ] = suma[ 0 ] + 1;

if( a == 1 )
     suma[ 1 ] = suma[ 1 ] + 1;

if( a == 2 )
     suma[ 2 ] = suma[ 2 ] + 1;

if( a == 3 )
     suma[ 3 ] = suma[ 3 ] + 1;

if( a == 4 )
     suma[ 4 ] = suma[ 4 ] + 1;

if( a == 5 )
     suma[ 5 ] = suma[ 5 ] + 1;

if( a == 6 )
     suma[ 6 ] = suma[ 6 ] + 1;

if( a == 7 )
     suma[ 7 ] = suma[ 7 ] + 1;

if( a == 8 )
     suma[ 8 ] = suma[ 8 ] + 1;

if( a == 9 )
     suma[ 9 ] = suma[ 9 ] + 1;
Ale bzdury..
C/C++
suma[ i % 10 ] += 1;
P-175440
« 1 »
 Strona 1 z 1