Byłby ktoś na tyle życzliwy, żeby zerknąć co nie tak zrobiłem?
#include <string>
#include <iostream>
using namespace std;
int main() {
int d;
cin >> d;
string s="",s2;cin>>s;
while(cin>>s2) s+=" "+s2;
int j1=s.length();int d1 = d-1+2;int j2 = 1;
while(d1>0)
{
if((s[j2] ==' ') && (s[j2+1]!=' '))
{
s.insert(j2+1, " ");
d1--;j2++;j1++;
}
j2++;if(j2==1)j2=1;
}
cout<<s<<endl;
return 0;
}
Polega to na tym, że w wejściu podajemy :
- Liczbę, z przedziały od 1 do 1000.
- Podajemy wyraz oddzielony pojedynczymi spacjami(nie zaczyna i nie kończy się spacją) dodatkowo wyraz jest w cudzysłowie.
I wyjściowo program ma wypisać wyraz rozciągnięty do tylu znaków ile podaliśmy w wejściu(1)
Twoim zadaniem będzie rozciągnięcie odstępów między słowami w taki sposób, aby łańcuch (którego długość liczona jest bez otaczających go cudzysłowów) zajął łącznie tyle znaków, ile określono w pierwszej linii danych.
Spacje mają być dodane równomiernie.
Dodatkowo proszę was o wyrozumiałość, w c++ nie bawię się długo(miesiąc, albo dwa). Wydawało mi się, że kod jest dobry, ale program nie robi tego co oczekuję.
Z góry dziękuję :)