Hỏi đáp
Chia sẻ kiến thức, cùng nhau phát triển
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?
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.
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.