cifre comune pentru doua numere

Intrebari despre limbajul C++, standardul C++, STL, OOP in C++ sau alte subiecte nelegate de VisualC++
Post Reply
crash
Junior
Junior
Posts: 9
Joined: 17 Mar 2013, 20:21
Judet: Bucureşti

cifre comune pentru doua numere

Post by crash » 17 Mar 2013, 20:28

Salut!
Sunt beginner in ale C-ului si am o problema. Nu stiu ce gresesc! Trebuie sa aflu cate cifre comune au doua numere citite de la tastatura. De exemplu, pt 21348 si 14513 sa rezulte 3 cifre comune (2,3,4).
Asta am facut eu, dar imi numara inclusiv aparitiile duble ale unei cifre. Adica daca e 1 in primul numar o data si de doua ori in al doilea imi numara doua cifre comune.
#include<stdio.h>
#include<conio.h>

void main(){
long int n1,n2;
int m1,m2,k=0,nr,s=0;
printf("n1=");scanf("%ld",&n1);
printf("n2=");scanf("%ld",&n2);
nr=n2;
while(n1>0){
m1=n1%10;
while(n2>0){
m2=n2%10;
if(m1==m2) k=1;
n2=n2/10;
}
if(k==1) s=s+1;
n1=n1/10;
n2=nr;
}
printf("%d",s);
getch();
}



User avatar
bu7ch3r
Membru++
Membru++
Posts: 326
Joined: 17 May 2011, 15:17
Judet: Iaşi
Location: Sofia
Contact:

Re: cifre comune pentru doua numere

Post by bu7ch3r » 18 Mar 2013, 21:19

Otea:

Code: Select all

#include "stdio.h"

int round = 0;
void parsemynumbers(int number, int hash[])
{
    while(number)
    {
        int anumber = number%10;
        if(round == hash[anumber])
            hash[anumber] = round + 1;
        number = number/10;
    }
    round ++;
}

int main (void)
{
    int table[10];
    int i;

    for (i=0; i<9; i++)
        table[i]=0;

    int a = 1231234343;
    int b = 12979833;
    int c = 234029348;
    int d = 18289883;

    parsemynumbers(a, table);
    parsemynumbers(b, table);
    parsemynumbers(c, table);
    parsemynumbers(d, table);

    for(i=0;i<9;i++)
        if(round == table[i])
            printf("%d  ",i);
    return 0;
}
Cu stima,
Lupu Claudiu

crash
Junior
Junior
Posts: 9
Joined: 17 Mar 2013, 20:21
Judet: Bucureşti

Re: cifre comune pentru doua numere

Post by crash » 19 Mar 2013, 21:38

Multumesc, Claudiu!

Post Reply