Đảo ngược mảng C++

Viết chương trình C nhập các phần tử của mảng và tìm ngược lại mảng. Cách tìm ngược mảng trong lập trình C. Logic tìm ngược mảng trong chương trình C

Show

Thí dụ

Đầu vào

Input array elements: 10, 5, 16, 35, 500

đầu ra

Array elements after reverse: 500, 35, 16, 5, 10

Kiến thức cần thiết

Cơ bản Đầu vào Đầu ra, Vòng lặp For, Vòng lặp While, Mảng

Có nhiều cách khác nhau để đảo ngược một mảng. Ở đây tôi sẽ giải thích ba thuật toán cơ bản để đảo ngược một mảng nhất định. Đầu tiên là cách đơn giản nhất và dễ nhất, để người mới bắt đầu có thể hiểu được những gì tôi đang làm

Logic để in mảng theo thứ tự đảo ngược

Thuật toán này trong thực tế không tạo ra một mảng bị đảo ngược. Thay vào đó, nó chỉ in mảng theo thứ tự ngược lại. Nếu bạn đang tìm cách đảo ngược các phần tử thì hãy chuyển sang logic tiếp theo. Vì vậy, đây là logic mô tả từng bước để in mảng theo thứ tự ngược lại

  1. Kích thước đầu vào và các phần tử trong mảng từ người dùng. Lưu trữ nó trong một số biến nói
    Array elements after reverse: 500, 35, 16, 5, 10
    7 và
    Array elements after reverse: 500, 35, 16, 5, 10
    8
  2. Chạy một vòng lặp từ
    Array elements after reverse: 500, 35, 16, 5, 10
    9 đến 0 theo kiểu giảm dần. Cấu trúc vòng lặp sẽ giống như
    Array elements after reverse: 500, 35, 16, 5, 10
    0
  3. Vòng lặp bên trong in phần tử mảng hiện tại i. e.
    Array elements after reverse: 500, 35, 16, 5, 10
    0

Chương trình in ngược mảng

/**
 * C program to print array in reverse order
 */

#include 
#define MAX_SIZE 100      // Defines maximum size of array

int main()
{
    int arr[MAX_SIZE];
    int size, i;

    /* Input size of array */
    printf("Enter size of the array: ");
    scanf("%d", &size);

    /* Input array elements */
    printf("Enter elements in array: ");
    for(i=0; i=0; i--)
    {
        printf("%d\t", arr[i]);
    }

    return 0;
}

Logic tìm ngược mảng

Chương trình trên in mảng theo thứ tự đảo ngược. Nó không đảo ngược mảng. Ở đây tôi đang viết logic cơ bản đầu tiên để đảo ngược mảng. Nó sử dụng phương pháp trên để truy cập ngược lại phần tử mảng và sao chép nó vào một mảng đảo ngược mới. Điều đó có nghĩa là phần tử cuối cùng của mảng ban đầu trở thành phần tử đầu tiên cho mảng đảo ngược

Từng bước logic mô tả để đảo ngược một mảng

  1. Kích thước đầu vào và các phần tử trong một mảng. Lưu trữ nó trong một số biến nói lần lượt là
    Array elements after reverse: 500, 35, 16, 5, 10
    7 và
    Array elements after reverse: 500, 35, 16, 5, 10
    8
  2. Khai báo một mảng khác sẽ lưu trữ các phần tử mảng bị đảo ngược của mảng ban đầu có cùng kích thước, chẳng hạn như
    Array elements after reverse: 500, 35, 16, 5, 10
    3
  3. Khởi tạo hai biến sẽ theo dõi mảng ban đầu và đảo ngược. Ở đây chúng ta sẽ truy cập mảng ban đầu từ mảng cuối cùng và đảo ngược mảng từ đầu tiên. Do đó, hãy khởi tạo
    Array elements after reverse: 500, 35, 16, 5, 10
    4 và
    Array elements after reverse: 500, 35, 16, 5, 10
    5
  4. Chạy vòng lặp từ
    Array elements after reverse: 500, 35, 16, 5, 10
    9 đến 0 theo kiểu giảm dần. Cấu trúc vòng lặp sẽ giống như
    Array elements after reverse: 500, 35, 16, 5, 10
    7
  5. Vòng lặp bên trong sao chép mảng ban đầu sang đảo ngược mảng i. e.
    Array elements after reverse: 500, 35, 16, 5, 10
    8
  6. Sau khi sao chép, tăng
    Array elements after reverse: 500, 35, 16, 5, 10
    9 và giảm
    /**
     * C program to print array in reverse order
     */
    
    #include 
    #define MAX_SIZE 100      // Defines maximum size of array
    
    int main()
    {
        int arr[MAX_SIZE];
        int size, i;
    
        /* Input size of array */
        printf("Enter size of the array: ");
        scanf("%d", &size);
    
        /* Input array elements */
        printf("Enter elements in array: ");
        for(i=0; i=0; i--)
        {
            printf("%d\t", arr[i]);
        }
    
        return 0;
    }
    0
  7. Cuối cùng sau vòng lặp in mảng
    /**
     * C program to print array in reverse order
     */
    
    #include 
    #define MAX_SIZE 100      // Defines maximum size of array
    
    int main()
    {
        int arr[MAX_SIZE];
        int size, i;
    
        /* Input size of array */
        printf("Enter size of the array: ");
        scanf("%d", &size);
    
        /* Input array elements */
        printf("Enter elements in array: ");
        for(i=0; i=0; i--)
        {
            printf("%d\t", arr[i]);
        }
    
        return 0;
    }
    1

Chương trình tìm ngược mảng

Array elements after reverse: 500, 35, 16, 5, 10
2

Phương pháp trên rất dễ viết và dễ hiểu cho người mới bắt đầu. Tuy nhiên, vô tình chúng ta đang lãng phí một số bộ nhớ để lưu trữ mảng đảo ngược. Bạn cũng có thể đảo ngược mảng đã cho mà không cần sử dụng mảng khác

Logic để đảo ngược mảng mà không sử dụng mảng khác dựa trên logic trên. Điều chúng ta cần làm là duy trì hai chỉ mục mảng. /** * C program to print array in reverse order */ #include #define MAX_SIZE 100 // Defines maximum size of array int main() { int arr[MAX_SIZE]; int size, i; /* Input size of array */ printf("Enter size of the array: "); scanf("%d", &size); /* Input array elements */ printf("Enter elements in array: "); for(i=0; i=0; i--) { printf("%d\t", arr[i]); } return 0; }0 đầu tiên di chuyển từ Array elements after reverse: 500, 35, 16, 5, 109 đến 0. Array elements after reverse: 500, 35, 16, 5, 109 thứ hai di chuyển từ 0 đến Array elements after reverse: 500, 35, 16, 5, 109. Bây giờ thay vì sao chép các giá trị sang một mảng đảo ngược, hãy hoán đổi giá trị của mảng tại các chỉ mục /** * C program to print array in reverse order */ #include #define MAX_SIZE 100 // Defines maximum size of array int main() { int arr[MAX_SIZE]; int size, i; /* Input size of array */ printf("Enter size of the array: "); scanf("%d", &size); /* Input array elements */ printf("Enter elements in array: "); for(i=0; i=0; i--) { printf("%d\t", arr[i]); } return 0; }0 và Array elements after reverse: 500, 35, 16, 5, 109. Điều này sẽ đảo ngược toàn bộ mảng Làm cách nào để đảo ngược các hàng của mảng 2D trong C?

Đối với mỗi hàng trong mảng 2D đã cho, hãy làm như sau. .
Khởi tạo chỉ mục bắt đầu là 0 và chỉ mục kết thúc là N-1
Lặp lại vòng lặp cho đến khi chỉ mục bắt đầu nhỏ hơn chỉ mục kết thúc, hoán đổi giá trị tại các chỉ mục này và cập nhật chỉ mục dưới dạng

Làm cách nào để đảo ngược một mảng bằng vòng lặp for trong C?

Logic để in mảng theo thứ tự đảo ngược .
Kích thước đầu vào và các phần tử trong mảng từ người dùng. Lưu trữ nó trong một số biến nói kích thước và arr
Chạy một vòng lặp từ kích thước - 1 đến 0 theo kiểu giảm dần. Cấu trúc vòng lặp sẽ giống như for(i=size-1; i>=0; i--)
Vòng lặp bên trong in phần tử mảng hiện tại i. e. mảng[i]

Làm cách nào để đảo ngược một mảng trong C mà không cần sử dụng chức năng?

Đảo ngược mảng mà không sử dụng chức năng đảo ngược .
chương trình lớp học
khoảng trống tĩnh Chính (chuỗi [] args)
int[] arr = new int[] { 1, 2, 3, 4, 5 };
chiều dài int = mảng. Chiều dài - 1;
chuỗi strReverse = null;
trong khi (độ dài >= 0)

Làm thế nào bạn sẽ đảo ngược một mảng?

Sử dụng Hoán đổi . Trong phương pháp này, chúng ta hoán đổi các phần tử của mảng. Phần tử đầu tiên được hoán đổi với phần tử cuối cùng. Phần tử thứ hai được hoán đổi với phần tử cuối cùng trừ một phần tử, v.v.