syssc napisał: i on się pyta co on robi i napisać do niego program w C
Zacznij więc od analizy schematu. Skąd będziesz wiedział, że program jest dobry, jeśli nie wiesz czego po nim oczekiwać? W programie widzę kilka problemów wynikających z przeoczeń i błędów. Znajdziesz je tylko przez debugowanie programu, ale debugując program musisz dokładnie wiedzieć co powinno być w zmiennych w każdym kroku programu.
Spróbuj zacząć analizę od rozpisania na kartce kilku małych tablic, np. 3..5 -elementowych i prześledź co się powinno dziać w trakcie działania.
Można spróbować zamiast kartki użyć od razu kompilatora C, ale nie pisz od razu całego programu, a zrób to "na raty". Na początek napisz sobie procedurkę wypisującą wszystkie elementy tablicy - przyda się do wypisania tablicy na końcu programu, ale w trakcie budowania algorytmu przyda się do wypisywania wszystkich elementów w każdym obiegu pętli - do sprawdzenia "co się dzieje". W algorytmie są dwie pętle - zewnętrzna i wewnętrzna. Na początek usuń wszystkie pętle - zostaw tylko początek - czyli pobieranie elementów tablicy i koniec, czyli wypisywanie elementów tablicy. Potem dodaj pętlę zewnętrzną - w każdym jej obiegu wypisz zawartość tablicy i zmienne sterujące pętli i sprawdź czy wypisało się tyle ile trzeba i to co trzeba. Na koniec dodaj pętlę wewnętrzną i znowu dodaj w jej obiegu wypisywanie całej tablicy. Spróbuj zanalizować, jak się zmieniają dane w całym programie. Kiedy dojdziesz do wniosku, że program działa jak powinien usuń wypisywanie zbędnych informacji w pętlach.