Προς το περιεχόμενο

C ενωση δυο μεταβλητών


aisixtir

Προτεινόμενες αναρτήσεις

Δημοσ.

Το ξεφτιλισατε το θεμα. Ο bxenos εδωσε την ευκολοτερη λυση (Δεν εχει cast/convert).

 

---------- Το μήνυμα προστέθηκε στις 12:54 ----------

 

λυση:

>
#include <stdio.h>

unsigned combine2n(unsigned a,unsigned {
unsigned 
	b1 = b, 	//προσωρινο αντίγραφο της b 
	moredigits = 1;	//επιτρεπει σε πιθανο μηδενικο αριθμο b να δωσει το "0"
			//το combine2n(50,0) θα δωσει 500
			//το combine2n(50,10) θα δωσει 5010
			//το combine2n(50,100) θα δωσει 50100
while(b1 || moredigits){
	//ο b1 έχει ενα ψηφείο, αρα "φτιάξε χώρο" για να μπεί αυτό:
	a *= 10;		//"σπρώξε" τον πρωτο αριθμό (a) μια θέση προς τα αριστερα
	b1 /= 10;	//αφαιρεσε απο τον δευτερο αριθμό μια θέση
	moredigits = 0;	//χειρηστήκαμε τουλάχιστο 1 ψηφειο απο τη b (σε περίπτωση που ηταν 0)
}
return a + b;	//ενωσε τον αριθμο (a) οπως έχει "σπρωχτεί" για να χωρέσει ο b, με τον b
}

int main(void){
printf("combine(34,56)=%u\n",combine2n(34,56));
printf("combine(34,0)=%u\n",combine2n(34,0));
printf("combine(34,50)=%u\n",combine2n(34,50));
printf("combine(34,100)=%u\n",combine2n(34,100));
}

 

>
αποτέλεσματα:
combine(34,56)=3456
combine(34,0)=340
combine(34,50)=3450
combine(34,100)=34100

 

 

 

 

Το μήνυμα που έχετε εισάγει είναι πολύ μικρό. Παρακαλούμε μεγαλώστε το μήνυμα σας ώστε να περιέχει τουλάχιστον 10 χαρακτήρες.

 

 

  • Απαντ. 31
  • Δημ.
  • Τελ. απάντηση
Δημοσ.

Edit: Μόλις είδα πως ένας φίλος πιο πάνω έκανε σχεδόν το ίδιο πράγμα με μένα. Soz.

 

 

 

Εγώ σκέφθηκα το παρακάτω:

>
//Enwsi 2 thetikwn akeraiwn
#include <stdio.h>

int main(void)
{
   int a, b, c, m;
   printf("Insert the two integers: ");
   scanf("%d %d", &a, &;

   if (b%10==
       printf("The final number is: %d.\n", a*10+;
   else
   {
       c=10;
       m=b;
       do
       {
           m/=10;
           if (m==0)
               break;
           else
               c*=10;
       } while (m!=0);
       printf("The final number is: %d.\n", a*c+;
   }
   return 0;
}

 

Βεβαίως το παραπάνω δε θα δουλέψει εάν εισάγουμε αρνητικό int (οπότε μια ιδέα είναι να όριζα εξ'αρχής unsigned int).

Είδα πως υπάρχουν και άλλες λύσεις αλλά το πόσταρα ως μια εναλλακτική και επειδή ήθελα να εξασκηθώ με το -σχετικά- παρατημένο μου χόμπι :P

 

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...