rendered paste body#include <stdio.h>#include <string.h>#include <stdlib.h>void PrintLine(char *tab, int k1, int k2, int sc, int *ip, char par);int main(int argc, char *argv[]){//Kolumna 1 i 2 do ktorych wyrownujemyint k1,k2;char *tab;k1 = atoi(argv[1]);k2 = atoi(argv[2]);int cc = k2-k1+1;int i = 0;int sc;char c;tab = malloc(cc+4);do{ sc = 0; for(; i < cc; i++) { c = getc(stdin); if(c == ' ') sc++; if(c == -1) break; tab[i] = c; } PrintLine(tab,k1,k2,sc,&i,i % 2);// i = 0; }while(!feof(stdin));free(tab);return 0;}void PrintLine(char *tab, int k1, int k2, int sc, int *ip,char par){//printf("TAB: %s||\n",tab);int cc = k2-k1+1;int i,j,k,sbw,sbw2,sbw3;int spaces_written = 0;char *lasts = strrchr(tab,' ');int spaces_total = cc-((lasts-tab)-sc);if(sc > 0){ sbw = spaces_total/sc; sbw3 = sbw2 = spaces_total%sc;}else sbw = sbw2 = sbw3 = 0;// printf("%d",*ip);// printf("l-t: %d sc: %d sbw: %d sbw2: %d cc: %d spaces_total: %d\n",lasts-tab,sc,sbw,sbw2,cc,spaces_total);for(i = 0; i < k1; i++) putc(' ',stdout);for(i = 0, k = 0; k < *ip; i++){ if(tab[i] != ' ') { putc(tab[i],stdout); k++; } else { for(j = 0; j < sbw; j++,k++) putc(' ',stdout); if(par) { if(sbw2 > 0) { putc(' ',stdout); sbw2--; k++; } } else { if(sbw2 > 0 && spaces_written >= sc-sbw3) { putc(' ',stdout); sbw2--; k++; } } spaces_written++; }}putc('\n',stdout);//skopiowanie pozostalosciwhile(tab[i] == ' ') i++;memcpy(tab,&tab[i],cc-i);*ip = cc-i;}