Dzień dobry,
Mieliśmy kolejne ciekawe zadania na zajęciach. Tym razem przyszło napisać program, który w pętli zmienia lekko formatowanie wypisywanego tekstu.
Mianowicie chodzi o wykorzystanie pętli for do wypisywania po sobie (w następnych linijkach) coraz to dłuższego rozwinięcia dziesiętnego danej liczby i biblioteki string do modyfikacji tegoż łańcucha.
Należało to zrobić z jednoczesnym wypisaniem łańcucha formatującego - co akurat udało mi się, ale w taki sposób, że dla mnie niemożliwym już było dokończenie programu wg. schematu. Byłbym wdzięczny za pomoc w realizacji zadania (zapewniam też, że nie jest to żadnego rodzaju praca domowa - wszystkie zadania wykonujemy na ocenę wyłącznie podczas ćwiczeń). Program ma wyglądać tak:
#include <stdio.h>
#include <string.h>
#include <math.h>
int main() {
char form[8]= ---;
float liczba = jakaś_liczba;
int i = 0;
for(;i<3;i++){
???(form, "------",i); //zbudowanie łańcucha formatującego
printf("Formatowanie: ------ : ", form); //wypisanie łańcucha formatującego
???(ttt, "\n"); //doklejenie przejścia do nast. linii
printf(ttt, liczba); //liczba
}
return 0;
}
Gdzie '???' to jakaś bliżej nieokreślona funkcja, 'ttt' - jakaś zmienna, '------' - tekst do wpisania.
Dałem tu tyle informacji, ile sami dostaliśmy. Output ma wyglądać tak:
Formatowanie: %.0lf : 2
Formatowanie: %.1lf : 2.3
Formatowanie: %.2lf : 2.34
Zdaję sobie sprawę z tego, że żeby nauczyć się programowania to 1. trzeba się w ogóle uczyć, 2. dużo ćwiczyć, ale czasami bywa tak, że trzeba coś zrobić, ale nie ma się wystarczająco umiejętności, żeby sobie z czymś poradzić. Zadanie zapewne jest trywialne dla kogoś, kto już trochę się w takie rzeczy bawił. Także prosił bym tylko, żeby pamiętać, że jestem zielony i do niedawna miałem bardzo marginalną styczność z programowaniem. Ponadto nigdzie nie udało mi się znaleźć podobnego problemu. Dziękuję za pomoc i wyrozumiałość.