Computer >> Máy Tính >  >> Lập trình >> lập trình C

Chương trình C để tìm kiểu mảng do người dùng nhập bằng con trỏ.

Vấn đề

Viết chương trình C để tìm kiểu mảng mà chúng ta cần kiểm tra, xem các phần tử đã cho trong mảng là số chẵn hay số lẻ hoặc kết hợp của cả hai bằng cách sử dụng con trỏ.

Giải pháp

Người dùng phải nhập một mảng số nguyên, sau đó hiển thị kiểu của mảng.

Ví dụ 1 - Đầu vào:5 3 1, Đầu ra:mảng lẻ

Ví dụ 2 - Đầu vào:2 4 6 8, Đầu ra:mảng chẵn

Ví dụ 3 - Đầu vào:1 2 3 4 5, Đầu ra:mảng hỗn hợp

Thuật toán

Tham khảo thuật toán đưa ra bên dưới để tìm kiểu mảng do người dùng nhập với sự trợ giúp của con trỏ.

Bước 1:Đọc kích thước của mảng trong thời gian chạy.

Bước 2:Nhập các phần tử của mảng.

Bước 3:Khai báo biến con trỏ.

Bước 3:Kiểm tra xem tất cả các phần tử của mảng có lẻ hay không bằng cách sử dụng biến con trỏ.

Sau đó, in "Odd".

Bước 4:Kiểm tra xem tất cả các phần tử của mảng có bằng nhau hay không bằng cách sử dụng biến con trỏ.

Sau đó, in "Chẵn".

Bước 5:Khác, in "Hỗn hợp".

Ví dụ

Sau đây là chương trình C để tìm kiểu mảng do người dùng nhập với sự trợ giúp của con trỏ -

#include<stdio.h>
#include<stdlib.h>
int*createArray (int);
void readArray(int,int *);
int findType(int , int *);
int main(){
   int *a,n,c=0,d=0;
   printf("Enter the size of array\n");
   scanf("%d",&n);
   printf("Enter the elements of array\n");
   createArray(n);
   readArray(n,a);
   findType(n,a);
   return 0;
}
int *createArray(int n){
   int *a;
   a=(int*)malloc(n*sizeof(int));
   return a;
}
void readArray(int n,int *a){
   for(int i=0;i<n;i++){
      scanf("%d",a+i);
}}
int findType(int n, int *a){
   int c=0,d=0;
   for(int i=0;i<n;i++){
      if(a[i]%2==0){
         c++;
      }
      else{
         d++;
   }}
   if(c==n){
      printf("The array type is Even\n");
   }
   if(d==n){
      printf("The array type is Odd\n");
   }
   if(c!=n && d!=n){
      printf("The array type is Mixed\n");
   }
   return 0;
}

Đầu ra

Khi chương trình trên được thực thi, nó tạo ra kết quả sau -

Enter the size of array
4
Enter the elements of array
12
14
16
18
The array type is Even