Zwei Integer-Werte in einer Variablen zusammenfassen
-
Hallo zusammen!
Ich will zwei Integerwerte, die ich beim durchlaufen von zwei for-Schleifen bekomme in einem Array getrennt durch einen ":" oder ";" zusammenfassen. An einer Stelle im Array sollte also etwas stehen wie "12:45", damit ich später auf die einzelnen Zahlen wieder zugreifen kann.
Meine Frage lautet also: Was für eine Form muss das Array haben? (Int, char, double?) Kann ich überhaupt die beiden Werte durch ein ":" trennen, und wenn ja, wie?
Ich habe es bis jetzt mit strcat versucht, das hat aber nicht funktioniert.
Danke schon mal für die Hilfe!
-
Du könntest dir ein struct definieren, das aus zwei Zahlen besteht - und diese dann geeignet formatiert ausgeben:
typedef struct { int x,y; } int_pair; ... int_pair data[100]; ... for(int i=0;i<100;++i) printf("%d:%d\n",data[i].x,data[i].y); ...
(PS: Das ":" in die Daten direkt aufzunehmen ginge zwar auch - ist aber eher hinderlich, wenn du mit deinen Zahlen weiterrechnen willst)
-
vielleicht sowas?
typedef int paar[2];//struct paar{int x; int y;}; geht auch. paar array[100]; int i; int writepos=0; for(i=0;i<10;++i){ for(j=0;j<10;++j){ if(i*j%5==0){ array[writepos][0]=i; array[writepos][1]=j; ++writepos; } } } printf("die paare, deren produkt durch 5 teilbar ist:\n"); for(i=0;i<writepos;++i){ printf("%d:%d ",array[i][0],array[i][1]); }
-
Danke, das ging ja schnell!
Beide Varianten gefallen mir gut, aber die zweite macht wohl eher das, was ich brauche, aber: Danke euch beiden!