55 lines
1.8 KiB
C
55 lines
1.8 KiB
C
/********************************************************************************************
|
|
* Das folgende Programm liest eine Folge aus vier ganzen Zahlen sowie eine Anzahl n
|
|
* ein und und soll die Zahlenfolge n mal rotieren. Dabei soll die Zahlenfolge nach jeder
|
|
* Rotation ausgegeben werden.
|
|
*
|
|
* Implementieren Sie die Rotation, in dem Sie die Variablen geschickt tauschen.
|
|
* 1) Überlegen Sie, wie Sie durch Tauschen eine Zahlenfolge rotieren könnten.
|
|
* 2) Implementieren Sie eine geeignete Funktion, die zwei Variablen mittels call-by-reference
|
|
* tauscht.
|
|
* 3) Nutzen Sie diese Funktion, um die vier Variablen n mal zu rotieren.
|
|
*
|
|
* Beispiel:
|
|
* >> Geben Sie vier ganze Zahlen ein (getrennt durch Kommata): 1, 2, 3, 4
|
|
* >> Wie oft soll rotiert werden? 10
|
|
* Vor der Rotation: 1, 2, 3, 4.
|
|
* Nach der 1. Rotation: 4, 1, 2, 3
|
|
* Nach der 2. Rotation: 3, 4, 1, 2
|
|
* Nach der 3. Rotation: 2, 3, 4, 1
|
|
* Nach der 4. Rotation: 1, 2, 3, 4
|
|
* Nach der 5. Rotation: 4, 1, 2, 3
|
|
* Nach der 6. Rotation: 3, 4, 1, 2
|
|
* Nach der 7. Rotation: 2, 3, 4, 1
|
|
* Nach der 8. Rotation: 1, 2, 3, 4
|
|
* Nach der 9. Rotation: 4, 1, 2, 3
|
|
* Nach der 10. Rotation: 3, 4, 1, 2
|
|
*
|
|
********************************************************************************************/
|
|
|
|
#include <stdio.h>
|
|
|
|
int main()
|
|
{
|
|
int a, b, c, d, n = 0;
|
|
|
|
printf("Geben Sie vier ganze Zahlen ein (getrennt durch Kommata): ");
|
|
if (scanf("%d, %d, %d, %d", &a, &b, &c, &d) != 4)
|
|
{
|
|
printf("Fehlerhafte Eingabe!\n");
|
|
return -1;
|
|
}
|
|
|
|
while(getchar() != '\n');
|
|
printf("Wie oft soll rotiert werden? ");
|
|
if(scanf("%d", &n) != 1 || n < 0)
|
|
{
|
|
printf("Fehlerhafte Eingabe!\n");
|
|
return -1;
|
|
}
|
|
|
|
printf("Vor der Rotation: %d, %d, %d, %d.\n", a, b, c, d);
|
|
|
|
// TODO
|
|
|
|
return 0;
|
|
} |