Как бы сравнить 2 цифры в C и найти пересечение каждого длинного в моей программе? У меня есть следующий код, но я не уверен, почему он неисправен. То, что я пытаюсь сделать, это сравнить 2 числа и посмотреть, соответствуют ли каждая цифра друг другу. Если они это сделают, они будут устанавливать цифру на тот же номер, но если они будут разными, она установит эту цифру в 0. Например, если у меня было число1 = 2421 и number2 = 2412, тогда возвращаемое число было бы 2400.Как найти перекресток 2 длинный в C?
long set_intersect(long number1, long number2)
{
int count=0;
char setone[18],settwo[18];
int final[18];
long countone,counttwo;
while((number1) && (number2))
{
countone = number1 %10;
setone[count] = countone;
counttwo = number2% 10;
settwo[count] = counttwo;
number1 = number1/10;
number2 = number2/10;
count++;
}
for(int i= 0 ; i< count; i++)
{
if(setone[i] == settwo[i])
{
final[i] = setone[i];
}
else
{
final[i] = 0;
}
}
for(i=0 ; i < count ; i++)
{
printf("%i\n",final[i]);
}
}
поэтому после редактирования кода код не распечатывает правильное пересечение. Есть ли что-нибудь еще в коде, вызывающем это? – WasabiCannon
Возможно. Зависит от того, что вы подразумеваете под «правильным». Я полагаю, что если бы вы дали 123356 и 12345, он распечатал 123050. Это «правильно»? – paddy
Да, это правильно – WasabiCannon