/***************************************************************/
/***********************Файл LAB1_6.C **************************/
#include <stdio.h>
#define N 80
/********************************************************************************
*******/
/*Функция доведение строки s до длины l путем вставки пробелов между словами (массивы)*/
/********************************************************************************
*******/
//#include <iostream>
//using namespace std;
//-----------расширение строки пробелами до len
void Space (char *s[N], int len)
{
int n=0; //фактическая длина строки
int k=0; //количество пробелов
int dif = len-n-1;//разница между желаемой и фактической длиной строки
int ins = dif/k;//к-во вставляемых пробелов между словами, кроме последнего
int ins_last = ins+dif%k; //вставляемые пробелы перед последним словом
int is=0,ir=0,cur=1,j;
char res[N];
while(s[n]!='\0')
{ if(s[n]==' ') k++;
n++;
}
//int dif = len-n-1;//разница между желаемой и фактической длиной строки
//int ins = dif/k;//к-во вставляемых пробелов между словами, кроме последнего
//int ins_last = ins+dif%k; //вставляемые пробелы перед последним словом
//int is=0,ir=0,cur=1,j;
while(is<n)
{ if (s[is]==' ')
{ if(cur<k)
{ for(j=0;j<ins+1;j++)
res[ir+j]=' ';
ir+=(ins+1);
cur++;
}
else
{ for(j=0;j<ins_last+1;j++)
res[ir+j]=' ';
ir+=(ins_last+1);
}
is++;
}
else
{ res[ir]=s[is];
ir++;
is++;
}
}
res[ir]='\0';
printf("\n");
printf("The result:\n");
printf("%c",res);
//cout<<endl;
//cout<<"The result:\n";
//cout<<res<<endl;
}
int main()
{
char str[N];
int len=0;
printf("The line:\n");
//cout<<"The line:\n";
gets(str);
Space(str,len);
}