Program wypisujący wszystkie wiersze z wejścia zawierające więcej niż 10 znaków

0

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++;
	}
}
0

nie możesz korzystać z gotowych funkcji? z bibliotek?

0

@prove ale to jest zadanie na jakąś sprawdzarkę czy coś? Bo strumienie sie nie "mieszają" i to co napisałeś jest ok.

1 użytkowników online, w tym zalogowanych: 0, gości: 1