Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม C

พิมพ์รูปแบบที่กำหนดแบบเรียกซ้ำ

ที่นี่ ตามโจทย์ ต้องแสดงรูปแบบโดยใช้วิธีการเรียกซ้ำ (Recursive)

Recursive function คือฟังก์ชันที่เรียกตัวเอง n ครั้ง อาจมี recursive function หลายตัวในโปรแกรม ปัญหาของ recursive function คือความซับซ้อน

อัลกอริทึม

START
Step 1 -> function int printpattern(int n)
    If n > 0
        Printpattern(n-1)
        Print *
    End IF
End
Step 2 -> function int pattern(int n)
    If n > 0
        pattern(n-1)
    End IF
    Printpattern(n)
    Print \n
End
STOP

ตัวอย่างโค้ด (C)

#include <stdio.h>

int printpattern(int n) {
    if (n > 0) {
        printpattern(n-1);
        printf("*");
    }
}

int pattern(int n) {
    if (n > 0) {
        pattern(n-1);
    }
    printpattern(n);
    printf("\n");
}

int main(int argc, char const *argv[]) {
    int n = 7;
    pattern(n);
    return 0;
}

ผลลัพธ์

*
**
***
****
*****
******
*******