SIMPLE
STRING
ARRAY
SORTING
POINTER
CALCULATION
NUMBER
OTHER
CÁC CHỦ ĐỀ
BÀI MỚI NHẤT
MỚI CẬP NHẬT

Đảo ngược chuỗi sử dụng đệ quy trong C++

Trong bài tập này chúng ta sẽ thực hiện chương trình đảo ngược chuỗi sử dụng đệ quy trong C++. Đây là một dạng bài tập thường gặp khi bắt đầu làm quen với String trong C++.

test php

banquyen png
Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

Ở các bài tập đơn giản như vậy các bạn hãy tập viết hàm để giải bài toán, như vậy sẽ giúp các bạn tư duy được khi giải quyết các vấn đề.

Ví dụ: Chương trình đảo ngược chuỗi sử dụng đệ quy.

Ở ví dụ dưới đây chúng ta sẽ tạo một hàm reverse_string() để thực hiện công việc đảo ngược chuỗi.

#include <iostream>
#include <string.h>
using namespace std;
void reverse_string(char*, int, int);
int main()
{
  char string_array[150];
    cout<<"Nhập vào một chuỗi: ";
    cin>>string_array;
    reverse_string(string_array, 0, strlen(string_array)-1);
    cout<<"Chuỗi sau khi đảo ngược là: "<<string_array;
   cout<<"\n-------------------------------\n";
   cout<<"Chương trình này được đăng tại Freetuts.net";
}
void reverse_string(char *x, int start, int end)
{
    char ch;
    if (start >= end)
       return;
    ch = *(x+start);
    *(x+start) = *(x+end);
    *(x+end) = ch;
    reverse_string(x, ++start, --end);
}

Sau đó ở hàm main() chúng ta khai báo một mảng string_array[] để chứa các phần tử của mảng, rồi sử dụng câu lệnh cout, cin để yêu cầu người dùng nhập vào chuỗi.

Bài viết này được đăng tại [free tuts .net]

Cuối cùng sử dụng hàm reverse_string() đã viết để đảo ngược chuỗi người dùng vừa nhập và hiển thị kết quả ra màn hình.

Kết quả:

dao nguoc chuoi JPG

Như vậy là chúng ta đã thực hiện xong chương trình đảo ngược chuổi. Chúc các bạn thực hiện thành công!!!

Cùng chuyên mục:

Các hàm xử lý ngày tháng (datetime.h) trong C/C++

Các hàm xử lý ngày tháng (datetime.h) trong C/C++

Các hàm xử lý số thực (float.h) trong C/C++

Các hàm xử lý số thực (float.h) trong C/C++

Các hàm xử lý số nguyên lớn (bigint.h) trong C/C++

Các hàm xử lý số nguyên lớn (bigint.h) trong C/C++

Các hàm xử lý thời gian (time.h) trong C

Các hàm xử lý thời gian (time.h) trong C

Các hàm xử lý chuỗi (string.h) trong C/C++

Các hàm xử lý chuỗi (string.h) trong C/C++

Thread Pools và Parallel Algorithms trong C++

Thread Pools và Parallel Algorithms trong C++

Tạo và quản lý các Multithreading trong C++

Tạo và quản lý các Multithreading trong C++

Xử lý ngoại lệ khi làm việc với Memory Allocation trong C++

Xử lý ngoại lệ khi làm việc với Memory Allocation trong C++

Try, Catch, và Throw của Exception Handling trong C++

Try, Catch, và Throw của Exception Handling trong C++

Cách sử dụng Lambda Expressions trong C++

Cách sử dụng Lambda Expressions trong C++

Sử dụng weak_ptr trong C++

Sử dụng weak_ptr trong C++

Sử dụng shared_ptr trong C++

Sử dụng shared_ptr trong C++

Sử dụng unique_ptr trong C++

Sử dụng unique_ptr trong C++

Tổng quan về Smart Pointers trong C++

Tổng quan về Smart Pointers trong C++

Sử dụng Iterators trong STL của C++

Sử dụng Iterators trong STL của C++

[Iterator] Sử dụng Vector trong C++

[Iterator] Sử dụng Vector trong C++

[Iterator] Sử dụng trong List trong C++

[Iterator] Sử dụng trong List trong C++

[STL] Sử dụng Vector trong C++

[STL] Sử dụng Vector trong C++

Tổng quan về Iterators trong C++

Tổng quan về Iterators trong C++

[STL] Các hàm thường dùng của lớp Vector trong C++

[STL] Các hàm thường dùng của lớp Vector trong C++

Top