Mam za zadanie napisać program, który wypisze wszystkie wiersze z wejścia zawierające więcej niż 10 znaków. Napisałam go w ten sposób, że wypisuje konkretne zdanie po tym jak ja je wpiszę, a chciałabym żeby wypisał je wszystkie zbiorowo po zakończeniu wpisywania strumienia. Jak poprawić ten program by tak działał?
#include <stdio.h>
#define MAKSYMALNY 1000
int pobierz_wiersz(char wiersz[], int lim);
void kopiuj_wiersz(char wklej[], char kopiuj[]);
main(){
int c;
int dlugosc =0;
char powyzej[MAKSYMALNY];
char wiersz[MAKSYMALNY];
while((dlugosc = pobierz_wiersz(wiersz, MAKSYMALNY)) > 0){
if(dlugosc > 10){
kopiuj_wiersz(powyzej, wiersz);
printf("%s", powyzej);
}
}
return 0;
}
int pobierz_wiersz(char wiersz[], int lim){
int c, i;
for (i = 0; i < lim - 1 && (c = getchar()) != EOF && c != '\n'; i++)
wiersz[i] = c;
if (c == '\n'){
wiersz[i] = c;
i++;
}
wiersz[i] = '\0';
return i;
}
void kopiuj_wiersz(char wklej[], char kopiuj[]){
int i=0;
while(kopiuj[i] != '\0'){
wklej[i] = kopiuj[i];
i++;
}
}