Untitled

mail@pastecode.io avatar
unknown
c_cpp
15 days ago
1.1 kB
1
Indexable
Never
#include <iostream>
#include <cstring>  // Untuk strlen
using namespace std;

// Fungsi untuk mencetak kata-kata secara terbalik
void reverseWords(char* str) {
    char* end = str + strlen(str) - 1;  // Pointer ke akhir kalimat

    while (end >= str) {
        // Lewati spasi di akhir kata
        while (end >= str && *end == ' ') end--;
        
        // Temukan akhir dari kata
        char* wordEnd = end;
        
        // Lewati karakter dalam kata hingga spasi atau awal kalimat
        while (end >= str && *end != ' ') end--;
        
        // Cetak kata
        for (char* p = end + 1; p <= wordEnd; ++p)
            cout << *p;
        
        // Cetak spasi antara kata-kata, kecuali setelah kata terakhir
        if (end >= str) cout << " ";
    }
}

int main() {
    char kalimat[100];

    // Input kalimat dari pengguna
    cout << "Masukkan kalimat: ";
    cin.getline(kalimat, 100);  // Baca kalimat dari input

    // Membalik urutan kata
    cout << "Kalimat terbalik: ";
    reverseWords(kalimat);

    return 0;
}
Leave a Comment