Cześć, mam problem z pewnym zadaniem, jego treść jest następująca:
Napisz program wypisujący, wszystkie wiersze wejściowe dłuższe niż 80 znaków.
Mój kod wygląda następująco:
#include <stdio.h>
#define MAXLINE 1000 /*maksymalny rozmiar wiersza*/
int qetline(char line[], int maxline);
int main()
{
int len; /*długość bieżącego wiersza*/
char line[MAXLINE]; /*bieżący wiersz z wejścia*/
while ((len = qetline(line, MAXLINE))>0)
{ if(len>80){
printf("%s\n",line);
}
}
return 0;
}
/*getline: wczytaj wiersz do s, podaj jego długość*/
int qetline(char s[], int lim)
{
int c, i, dlugosc;
for(i = 0; i<lim-1&&(c = getchar())!=EOF&&c != '\n'; ++i)
{
s[i]=c;
}
if(c=='\n'){
s[i];
dlugosc = i;
++i;
}
s[i]='\0';
return i;
}
Problem, jest taki, że mój program jeżeli długość wiersza jest dłuższa od razu wypisuje ponownie wiersz, a chciałbym aby przechowywał wiersze o długości powyżej 80 znaków i wypisywał je dopiero po wprowadzeniu wszystkich wierszy. Domyślam się, że każdy wiersz trzeba wczytać do tablicy, i potem ją wypisać, ale mam problem z implementacją tego.