2.4 k so duong canh nhau - 2.4 k so duong canh nhau
Bài tâp: Nhâp dãy sô thuc a và sô nguyên duong k. Xét xem trong dãy:
a) Có k sô duong dung canh nhau hay không? b) Có k so dung canh nhau lâp thành câp sô công hay không? */ #include<stdio.h> #include<stdlib.h> #include<conio.h> void Nhapdayso(int N, float *a){ int i; if(a != NULL){ printf("Ban hay nhap %d phan tu trong day so: ", N); for(i=0; i<N; i++){ scanf("%f", &a[i]); } } else printf("Khong du bo nho!! "); } //Cau a): void KtraKsoduong(int N, float *a){ int i, d=0, k; printf("Ban muon kiem tra day co bao nhieu so duong dung canh nhau: "); scanf("%d", &k); for(i=0; i<N; i++){ if(a[i]>0){ d++; if(d == k){ printf("Day da cho co %d so duong lien tiep dung canh nhau! ", k); break; } } else d=0; } if(d != k) printf("Day da cho khong co %d so duong lien tiep! ", k); } //Cau b): void KtraKcapsocong(int N, float *a){ int i, d=0, k; printf("Ban muon kiem tra bao nhieu so trong dau lap thanh cap so cong: "); scanf("%d", &k); for(i=0; i<N-2; i++){ if(a[i+1] - a[i] == a[i+2] - a[i+1]){ d++; if(d == k-1){ printf("Day da cho co %d so lien tiep lap thanh cap so cong! ", k); break; } } else d=0; } if(d != k-1) printf("Day da cho khong co %d so lien tiep lap thanh cap so cong! ", k); } main() { int N; float *a; printf("Ban muon nhap day so co bao nhieu phan tu? "); scanf("%d", &N); a = malloc(N*sizeof(float)); Nhapdayso(N, a); KtraKsoduong(N, a); KtraKcapsocong(N, a); getch(); free(a); return 0; }