Zahlen umdrehen in Array
-
Ich habe ein Programm das mir ein Feld aus zwanzig Zufallszahlen erzeugt und die Summe ausgibt und den Durchschnitt auch noch. Wie kann ich es jetzt hinbekommen das mir die per Zufall erzeugten Zahlen umgedreht ausgegeben werden. (Zahlen sind nicht begrenzt, d.h. es kann eine 20 rauskommen oder auch eine 12345 deswegen kann man da keine formel anwenden in einer funktion da die länge der zahlen ja nicht bekannt ist) Gibt es vielleicht eine spezielle funktion wie das umdrehen von Integer Werten. ALso mein Programm sieht bisher so aus:
#include <conio.h>
#include <iostream>
#include <time.h>
#include <stdlib.h>
#include <windows.h>using namespace std;
const int LAENGE=20;
int zufallszahl( int *Array)
{
srand(time(NULL));
for (int i=0;i<LAENGE;i++)
Array[i]=rand();
return 0;
}int summe_zufallszahlen( int *Array)
{
int summe=0;
for(int i=0;i<LAENGE;i++)
{
summe+=Array[i];
}
cout<<"Summe: "<<summe<<endl;
}float durchschnitt_zufallszahlen( int *Array)
{
float durchschnitt;
int summe;
for(int i=0;i<LAENGE;i++)
summe+=Array[i];
durchschnitt=summe/LAENGE;
cout<<"Durchschnitt: "<<durchschnitt<<endl;
return 0;
}int umdrehen( int *Array)
{
for(int i=0;i<LAENGE;i++)
{int ausgeben( int *Array)
{
for(int i=0;i<LAENGE;i++)
cout<<i+1<<". Zufallszahl: "<<Array[i]<<endl;
return 0;
}int main()
{
int Feld[LAENGE];zufallszahl(&Feld[0]);
ausgeben(&Feld[0]);
summe_zufallszahlen(&Feld[0]);
durchschnitt_zufallszahlen(&Feld[0]);
getch();
return 0;
}Danke im Voraus für alle Antworten!!!!

-
#include <algorithm> ... int umdrehen( int *Array) { reverse(Array,Array+LAENGE); }
-
Nein das dreht ja einfach nur die Reihnfolge der Arrays um inder sie im Index stehen, aber ich bräuchte ein spezielle Funktion um zum Beispiel die Zahl 12345 als 54321 auszugeben.
-
ASDASDASD schrieb:
Nein das dreht ja einfach nur die Reihnfolge der Arrays um inder sie im Index stehen, aber ich bräuchte ein spezielle Funktion um zum Beispiel die Zahl 12345 als 54321 auszugeben.
Funktioniert so:
unsigned int reverse(unsigned int n) { int ret = 0; int exp = 1; for (int i = n; i /=10; ) exp *= 10; for (int i = n; i; i /= 10) { ret += (i % 10) * exp; exp /= 10; } return ret; }