поменять два слова в строке местами

не могу понять в чем ошибка.

#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;
}

Ответы (0 шт):