Hỏi đáp

Chia sẻ kiến thức, cùng nhau phát triển

Danh sách Queue

15:33 21-09-2021 476 lượt xem 8 bình luận 10:43 22-09-2021

Nhập số nguyên vào danh sách Queue. Tính tổng các số lẻ mà chia hết cho 3 rồi in ra màn hình

#include <stdio.h>
#include <conio.h>
#include <stdbool.h>
const  int Size = 3;

int Top, Max;  int Stack[3];

void  Initialize()
{
    Max = Size;
    Top = -1;     // Stack rong
 }

bool IsFull(int Stack[]){
    if(Top >= Max - 1){
        return true;
    }else{
        return false;
    }
}

bool IsEmpty(int Stack[]){
    if(Top == -1){
        return true;
    }else{
        return false;
    }
}

void Push(int Stack[], int Data){
    if(IsFull(Stack) == true){
        printf("\nStack is full. Overflow condition!");
    }else{
        ++Top;
        Stack[Top] = Data;
    }
}

int Pop(int Stack[]){
    int Item;
    if(IsEmpty(Stack) == true){
        printf("\nStack is empty. Underflow condition!");
    }else{
        Item = Stack[Top];
        --Top;
        return Item;

    }
}

int tinhTong(int ds[], int n){
    int i;
    int tong=0;
    for(i=0;i<n;i++){
        if(ds[i]%3==0){
            tong=tong+ds[i];
        }
    }
    return tong;
}
 
main(){
    int a[100],i,n,tg, Item;
    Initialize();
 
    printf("\nNhap so phan tu: ");
    scanf("%d",&n);
    printf("\nNhap day so nguyen");
 
    for(i=0;i<n;i++){
        printf("\nSo thu %d: ",i+1);
        scanf("%d",&a[i]);
    }
 
    tg=tinhTong(a, n);
 
    printf("\nTong cac so chia het cho 3 = %d",tg);
    getch();
 
    //As the stack is empty , further popping will show an underflow condition.
    Item = Pop(Stack);
    return 0;
}

Code bên trên đúng chưa mọi người?

Bình luận

Để bình luận, bạn cần đăng nhập bằng tài khoản Howkteam.

Đăng nhập
K9 SuperAdmin, KquizAdmin, KquizAuthor đã bình luận 11:17 22-09-2021
nó có chạy không. có thì đúng
Cu Xin Author đã bình luận 00:20 22-09-2021

Tự làm đi bạn ơi. Bạn có hỏi thì ít nhất bạn cũng phải show code mà bạn tự code được, bọn mình mới sửa sai cho bạn nhớ. Chứ bạn há miệng chờ sung thì còn gì là học hỏi nữa.

Supporter Moderator đã bình luận 16:34 21-09-2021

Vận dụng kiến thức đã học rồi làm, nếu vướng chỗ nào hãy hỏi, chứ bạn đem nguyên cái đề đi hỏi thì không có ai giúp đâu.

Câu hỏi mới nhất