Pierwsze zadanie z jakim się spotkałam to napisanie programu, który miałby być tablicą 2 wymiarową gdzie liczba kolumn zawsze byłaby stała= 3 ( liczba słupków używanych w wieżach Hanoi), a liczba wierszy byłaby liczbą krążków podanych przez użytkownika. Program miałby pokazywać jak wygląda przekładanie elementów tablicy( klocków z wieży) dopóki na 2 albo 3 słupku nie pojawi się wieża. Jak o tym myślę to wydaje mi się to być proste, ale jak mam to napisać w C to nic mi nie wychodzi.
Na razie jest tyle:
#include <stdio.h>
int jeden(int n, int tab[n][3], int b)
{
if n=1
{
tab[n][3]=0
printf ("konic ukladania")
}
}
int main()
{
int n,b,c;
printf ("Podaj n-liczbę krążków: ");
scanf ("%d", &n);
int tab[n][3];
int i,k;
// inicjalizacja
for (k = 0; k < n; k++)
{
tab[k][0] = k + 1; // w kolumnie 0 sa krażki, niech beda od 1 do n
tab[k][1] = 0;
tab[k][2] = 0;
}
// wypisanie
for (k = 0; k < n; k++) // k-ty kr¹¿ek
{
for (i = 0; i < 3; i++) // i-ty s³upek
{
printf ( " %d |" , tab[ k ][ i ]);
}
printf ("\n");
}
return 0;
}
Nie wiem jak rozpisać te funkcję żeby działało wiem, że każdy krążek musi być przeniesiony w prawo o 1. I trzeba sprawdzać funkcją czy klocek komputer nie chce przenieść klocka większego na mniejszy.