chars ?
-
gruebel schrieb:
Nur eine Frage: wie kopiere ich dann prod_temp in ein neues Array?? Denn prod_temp entsteht ja in einer Schleife, und nach jedem Schleifendurchgang wird am Ende diese Variable prod_temp wieder geloescht ... aber der Wert muss erhalten bleiben! Und daher will ich den dann in einem "Speicher" aufbewahren. Wie geht das?
Also i c h würde das Ergebnis mit itoa() einfach wieder in eine (int) Zahl zurückverwendeln, dann ist die Speicherung und Weiterverarbeitung etwas einfacher; siehe mein untenstehendes Programm.
#include <stdio.h> #include <string.h> #include <stdlib.h> #include <conio.h> int main(void) { int wert1 = 237; int wert2 = 6589; int digits_1 = 3; int digits_2 = 4; int result[digits_1][digits_2]; int i, j; char string1[16] = ""; char string2[16] = ""; char sz_calc[3] = ""; // Ergebnis hat max. 2 digits itoa(wert1, string1, 10); itoa(wert2, string2, 10); for (i = 0; i < digits_1; i++) for (j = 0; j < digits_2; j++) { int calcul = ((string1[i] - '0') * (string2[j] - '0')); if (calcul > 9) { sz_calc[0] = (char) (calcul/10) + '0'; sz_calc[1] = (char) (calcul%10) + '0'; sz_calc[2] = '\0'; } else { sz_calc[0] = (char) calcul + '0'; sz_calc[1] = '\0'; } result[i][j] = atoi(sz_calc); } // Ausgabe // printf(" Zahlen: %d und %d\n", wert1, wert2); printf("----------------------\n"); for (i = 0; i < digits_1; i++) for (j = 0; j < digits_2; j++) printf(" i: %c, j: %c, i*j = %d\n", string1[i], string2[j], result[i][j]); getch(); return 0; }
-
EinGast schrieb:
Also i c h würde das Ergebnis mit itoa() einfach wieder in eine (int) Zahl zurückverwendeln, dann...
Die Funktion dafür heißt natürlich atoi()
, sorry!
-
Hallo gruebel!
Ich lege dir folgende Seiten ans Herz: http://sockenseite.de/usenet/plenken.html und
http://de.wikipedia.org/wiki/Plenken
Viel Spaß damit!Gruß
Philipp