Em mới học C, em có làm bài tập về Array và Pointer đề bài là:
1.Tính tổng array
2.Tính trung bình
3.Coppy
4. Chuyển đổi số lơn hơn Max về 0
5. Sắp xếp tăng dần
Dưới đây là prototypes em viết ở file prototypes.h
#include <stdlib.h>
//Tinh tong
int TongArray (int array[ ], int kichthuocarray)
{
int i;
int itong =0;
for(i=0;i<kichthuocarray;i++)
{
itong+=array[i];
}
printf("Tong la %d\n", itong);
}
//Tinh trung binh
double TrungbinhArray (int array[ ], int kichthuocarray)
{
int i;
double dtrungbinh=0;
double dtong;
for(i=0;i<kichthuocarray;i++)
{
dtong+=array[i];
}
dtrungbinh=dtong/kichthuocarray;
printf("\nTrung binh la; %.5f\n", dtrungbinh);
}
//Coppy
void CoppyArray(int array[], int array2[], int kichthuocarray)
{
int i;
printf("\n array2 duoc coppy lai la \n");
for(i=0;i<kichthuocarray;i++)
{
array2[i]=array[i];
printf("%d\n",array2[i]);
}
}
//Sap xep tang dan
void IncreaseArray(int array[], int kichthuocarray)
{
int i,j,k;
printf("\n Day so duoc sap sep tang dan la\n");
//cong thuc hoan vi
for(i=0;i<kichthuocarray-1;i++)
{
for(j=i+1;j<kichthuocarray;j++)
{
if(array[i]>array[j])
{
//k nhan gia tri cua a[i], k co gia tri a[i] va a[i] co gia tri cua a[i]
k = array[i];
//a[i] nhan gia tri cua a[j], k van con luu gia tri a[i]
array[i] = array[j];
//a[j] nhan lai gia tri duoc luu tu k
array[j] = k;
}
}
}
for(i=0;i<kichthuocarray;i++)
{
printf("%5d", array[i]);
}
}
//Maximum return 0
void MaximumArray(int array[], int kichthuocarray, int MaximumNumber)
{
int i;
printf("\n So lon lon hon Max bi chuyen ve 0 \n");
for(i=0;i<kichthuocarray;i++)
{
if(array[i]>MaximumNumber)
array[i]=0;
printf("%d\n",array[i]);
}
}
Còn đây là code ở main.c
#include <stdio.h>
#include <stdlib.h>
#include "prototypes.h"
//tinh tong
int main(int argc, char *argv[])
{
int array[4]={1,2,3,4};
int array2[]={};
TongArray(array,4);
TrungbinhArray (array,4);
CoppyArray(array,array2,4);
MaximumArray(array,4,3);
IncreaseArray(array,4);
}
Em có 1 số câu hỏi muốn hỏi như sau mong được sự giúp đỡ của mọi người
- em dùng nhiều biết chung trong 1 prototypes nó ảnh hưởng gì không? cho em xin tác hại của nó.
- Phần chuyển số lớn hơn max về 0 “MaximumArray”: em nghĩ là chổ này là em bị dính cái biến đã bị thay đổi tại vì khi in ra màng hình từ “MaximumArray” về sau sô 4 đã bị chuyển thành số 0. Em muốn hỏi cách khắc phuc. Xin cảm ơn