Archives
Trending
Support
Login
clear text
XML
Django
JavaScript
MATLAB
C
C++
C#
Python
SQL
Shell
Bash
Markdown
YAML
JSON
HTML
CSS
PHP
Java
Ruby
Go
Rust
Swift
Kotlin
Arduino
TypeScript
Perl
Autohotkey
Lua
SQF
R
Scala
Haskell
Groovy
Dart
Clojure
VB.NET
Objective-C
PowerShell
Bash
CoffeeScript
Verilog
#include
#include
#include
// Struktur stack #define MAX 100 typedef struct { char data[MAX]; int top; } Stack; // Fungsi untuk inisialisasi stack void initStack(Stack *s) { s->top = -1; } // Fungsi untuk mengecek apakah stack penuh int isFull(Stack *s) { return s->top == MAX - 1; } // Fungsi untuk mengecek apakah stack kosong int isEmpty(Stack *s) { return s->top == -1; } // Fungsi untuk memasukkan elemen ke dalam stack void push(Stack *s, char c) { if (isFull(s)) { printf("Stack penuh!\n"); return; } s->data[++s->top] = c; } // Fungsi untuk mengeluarkan elemen dari stack char pop(Stack *s) { if (isEmpty(s)) { printf("Stack kosong!\n"); return -1; // Mengembalikan nilai invalid jika stack kosong } return s->data[s->top--]; } // Fungsi untuk membalikkan string menggunakan stack void reverseString(char *str) { Stack s; initStack(&s); // Menyimpan setiap karakter string ke dalam stack for (int i = 0; str[i] != '\0'; i++) { push(&s, str[i]); } // Mengambil karakter dari stack dan menuliskannya kembali ke string int i = 0; while (!isEmpty(&s)) { str[i++] = pop(&s); } } int main() { char str[MAX]; printf("Masukkan string: "); fgets(str, sizeof(str), stdin); // Menghapus newline karakter jika ada str[strcspn(str, "\n")] = 0; reverseString(str); printf("String setelah dibalik: %s\n", str); return 0; }
Mark as private (unlisted)
for 30 minutes
for 6 hours
for 1 day
for 1 week
for 1 month
for 1 year
everlasting (like CCCP)