поменять два слова в строке местами
не могу понять в чем ошибка.
#include <iostream>
#include <string>
#include <windows.h>
using namespace std;
int main()
{
system("chcp 1251 > null");
char stroka[81], buf[81];
int prob, prob1;
int prob2,pron0;
cin.getline(stroka, 80, '\n');
for (int i = 0, l = 0; l < 81; l++) {
if (((stroka[l] == ' ') || (stroka[l] == '.')) && (i == 1)) {
prob2 = l;
break;
}
if (((stroka[l] == ' ') || (stroka[l] == '.')) && (i == 0)) {
prob1 = l;
i = 1;
}
}
for (int i = 0; i < prob1; i++) {
buf[i] = stroka[i];
}
for (int i = (prob1 + 1); i < prob2; i++) {
stroka[i - prob1 + 1] = stroka[i];
}
cout << stroka;
}