Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> सी प्रोग्रामिंग

C प्रोग्राम में पैनकेक सॉर्टिंग


समस्या विवरण

यह C प्रोग्राम पूर्णांकों के ऐरे पर पैनकेक सॉर्ट लागू करता है।

पैनकेक सॉर्टिंग सॉर्टिंग समस्या का एक रूप है जिसमें एकमात्र अनुमत ऑपरेशन अनुक्रम के कुछ उपसर्ग के तत्वों को उलटना है।

उदाहरण

इनपुट: 5, 3, 2, 1, 4
आउटपुट: 1 2 3 4 5

C++ प्रोग्राम उदाहरण

#include <iostream>
using namespace std;

void do_flip(int *, int, int);

int pancake_sort(int *list, unsigned int length) {
    if (length < 2)
        return 0;
    int i, a, max_num_pos, moves;
    moves = 0;
    for (i = length; i > 1; i--) {
        max_num_pos = 0;
        for (a = 0; a < i; a++){
            if (list[a] > list[max_num_pos])
                max_num_pos = a;
        }
        if (max_num_pos == i - 1)
            continue;
        if (max_num_pos){
            moves++;
            do_flip(list, length, max_num_pos + 1);
        }
        do_flip(list, length, i);
    }
    return moves;
}

void do_flip(int *list, int length, int num) {
    int swap;
    int i = 0;
    for (i = 0; i < --num; i++) {
        swap = list[i];
        list[i] = list[num];
        list[num] = swap;
    }
}

int main(int argc, char **argv) {
    int arr[] = {5, 3, 2, 1, 4};
    int n = 5;
    int moves = pancake_sort(arr, n);
    for (int i = 0; i < n; i++) {
        printf("%d ", arr[i]);
    }
    printf(" - कुल %d चालों के साथ\n", moves);
}
  1. C प्रोग्राम: मैट्रिक्स घटाव C प्रोग्राम: मैट्रिक्स घटाव

    मैट्रिक्स घटाव दो मैट्रिक्स MAT1 और MAT2 को घटाने के लिए, दोनों का आकार समान होना चाहिए (समान पंक्तियां और स्तंभ)। परिणाम[i][j] = MAT1[i][j] - MAT2[i][j] उदाहरण MAT1 = [1 2 3] MAT2 = [9 8 7] परिणाम = [-8 -6 -4] [4 5 6] [6 5 4] [-2 0 2] [7 8 9] [3 2

  1. C प्रोग्राम: आर्मस्ट्रांग नंबर्स (Armstrong Numbers) C प्रोग्राम: आर्मस्ट्रांग नंबर्स (Armstrong Numbers)

    हमें उपयोगकर्ता द्वारा दर्ज संख्या n की जांच करनी है कि यह आर्मस्ट्रांग संख्या है या नहीं। एक आर्मस्ट्रांग संख्या वह है जिसके अंकों को अंकों की संख्या (क्रम) की घात तक बढ़ाकर उनका योग करने पर मूल संख्या प्राप्त होती है। सूत्र: wxyz... = wⁿ + xⁿ + yⁿ + zⁿ + ... एल्गोरिदम START फंक्शन power(a, b): a^b

  1. C प्रोग्राम: आयत का क्षेत्रफल और परिमाप C प्रोग्राम: आयत का क्षेत्रफल और परिमाप

    एक आयत की लंबाई और चौड़ाई दी गई है, हमें उसका क्षेत्रफल और परिमाप निकालना है। आयत एक 2-D आकृति है जिसमें चार भुजाएं और चार 90° के कोण होते हैं। विपरीत भुजाएं समान होती हैं। विकर्ण भी समान होते हैं। क्षेत्रफल = लंबाई × चौड़ाई परिमाप = 2 × (लंबाई + चौड़ाई) उदाहरण इनपुट: 20 30 आउटपुट: area of rectangl