inputa,n;//GOI HAM NHAP MANG A inputb,n;//GOI HAM NHAP MANG B addMultia,b,n;//GOI HAM TINH TONG VA TICH 2 MA TRAN }.
Trang 1TRƯỜNG CÔNG NGH THÔNG TIN VÀ TRUY N THÔNG Ệ Ề
TRUNG TÂM MÁY TÍNH VÀ TH C HÀNH Ự
BÁO CÁO TH C HÀNH 01 Ự – Tuần 31
KỸ THU T L Ậ ẬP TRÌNH
KỲ 20231
Họ và tên sinh viên: Phùng Xuân Nh t ậ
MSSV: 20215441 Lớp th c hành: 727635 ự
L ịch học: T4_Kip 2 S GVHD: Lê Thị Hoa
Trang 2Kỳ h c 20231
BÀI 1.01 VI T MẾ ỘT CHƯƠNG TRÌNH C NHẬP VÀO 3 S NGUYÊN THI T L P M T CON TRỐ Ế Ậ Ộ Ỏ ĐỂ ẦN L
LƯỢT TR T I T NG S NGUYÊN VÀ HI N TH KỎ Ớ Ừ Ố Ể Ị ẾT QU GIÁ TR THAM CHIẢ Ị ẾU NGƯỢC C ỦA CON TRỎ:3
BÀI 1.02 VIẾT CHƯƠNG TRÌNH IN RA ĐỊA CHỈ CỦA 5 PH N TẦ Ử ĐẦU TIÊN TRONG MẢNG ĐƯỢC ĐỊNH
NGHĨA SAU ĐÂY:INT A[7]= {13, -355, 235, 47, 67, 943, 1222}: 4
BÀI 1.03 VIẾT CHƯƠNG TRÌNH YÊU C U NH P GIÁ TR CHO 3 BI N S NGUYÊN X, Y, Z KI U INT: Ầ Ậ Ị Ế Ố Ể 5
BÀI 1.04 VI T HÀM COUNTEVEN(INT*, INT) NH N MẾ Ậ ỘT M NG S NGUYÊN VÀ KÍCH THƯỚC CỦA Ả Ố
M ẢNG: 8
BÀI 1.05 VI T HÀM TR V CON TR Ế Ả Ề Ỏ TRỎ Ớ T I GIÁ TR L N NH T CỊ Ớ Ấ ỦA MỘ T MẢNG CÁC S DOUBLE: 9 Ố
BÀI 1.06 VIẾT HÀM ĐẢO NGƯỢC MỘT MẢNG CÁC S NGUYÊN THEO HAI CÁCH: DÙNG CH S VÀ Ố Ỉ Ố
Trang 3Bài 1.01 Viết một chương trình C nhập vào 3 s nguyên Thi ố ết lậ p m t con tr ộ ỏ để
lần lượt trỏ t i t ng s nguyên và hi n th k t qu giá tr tham chi ớ ừ ố ể ị ế ả ị ếu ngược của con
trỏ:
Trang 4Kỳ h c 20231
#include<stdio.h>
int main(){
//PHUNG XUAN NHAT - 20215441
int a,b,c,*p;//khai bao 3 bien va con tro p
scanf("%d %d %d",&a,&b,&c);//nhap 3 so nguyen
printf("Enter three integers:\n");//in ra Enter three integers:
printf("The three integers are:\n");//in ra The three integers are:
p=&a;//gan con tro p tro toi a
printf("x = %d\ ,*p);//in ra noi dung con tro pn"
p=&b;//gan con tro p tro toi b
printf("y = %d\n",*p);//in ra noi dung con tro p
p=&c;//gan con tro p tro toi c
printf("z = %d",*p);//in ra noi dung con tro p
}
mảng được định nghĩa sau đây:int a[7]= {13, -355, 235, 47, 67, 943,
1222}:
#include <stdio.h>
Trang 5//PHUNG XUAN NHAT - 20215441
int main(){
int i;//KHAI BAO BIEN VA MANG
int a[7]={13, -355, 235, 47, 67, 943, 1222};
printf("address of first five elements in memory.\n");
for(i=0; i<5;i++) //IN RA DINH DANG 5 PHAN TU
Trang 6Kỳ h c 20231
Trang 7#include <stdio.h>
//PHUNG XUAN NHAT - 20215441
int main() {
int x, y, z;//khai bao 3 bien x,y,z
int *ptr;//khai bao con tro ptr
scanf("%d %d %d", &x, &y, &z);//nhap x,y,z
printf("Here are the values of x, y, and z:\n");//in ra Here are the values of x, y, and z:\n
printf("%d %d %d\n", x, y, z);//in ra ba bien
ptr=&x;//gan con tro ptr bang dia chi x
*ptr=*ptr+100;//cong noi dung ptr +100
ptr=&y;//gan con tro ptr bang dia chi y
*ptr=*ptr+100;//cong noi dung ptr +100
ptr=&z;//gan con tro ptr bang dia chi z
*ptr=*ptr+100;//cong noi dung ptr +100
printf("Once again, here are the values of x, y, and z:\n");//in ra Once again, here are the
values of x, y, and z:\n
printf("%d %d %d\n", x, y, z);//in ra ba bien x,y,z
return 0;
}
Trang 8Kỳ h c 20231
Bài 1.04 Viết hàm countEven(int*, int) nh n m ậ ột mả ng s ố nguyên và kích thước
của mảng:
int counteven(int *p,int n){
//PHUNG XUAN NHAT - 20215441
int i,count=0;//khai bao i, count
for(i=0;i<n;i++)//lap qua cac phan tu mang
if(*(p+i)%2==0)//kiem tra so chan
count++;//cong them 1 vao count
Trang 9return count; //tra ve so luong so chan
}
Bài 1 5 0 Viết hàm trả về con tr ỏ trỏ ới giá tr l n nh t ị ớ ấ t của m t m ộ ả ng các
số double:
Trang 10Kỳ h c 20231
double* maximum(double* a, int size){
//PHUNG XUAN NHAT - 20215441
double *max;//khai bao con tro max
max = a;//gan max tro den a
if (a==NULL) return NULL;//kiem tra neu a rong thi tra lai null
int i;//khai bao i
for(i=0;i<size;i++)//lap qua cac phan tu mang
if(*(a+i)>*max)//kiem tra neu phan tu a+i lon hon max
max=a+i;//gan max tro toi phan tu a+i
return max;//tra lai dia chi max
}
Trang 12Kỳ h c 20231
void reversearray(int arr[], int size){
//PHUNG XUAN NHAT - 20215441
int l = 0, r = size - 1, tmp;//khai bao l,r,tmp
for(l=0;l<size/2;l++)//lap tu phan tu dau den giua
void ptr_reversearray(int *arr, int size){
int l = 0, r = size - 1, tmp;//khai bao
for(l=0;l<size/2;l++){//lap tu phan tu dau den giua
tmp=*(arr+l);//hoan doi 2 phan tu doi xung dung con tro
Trang 13int main(){
//PHUNG XUAN NHAT - 20215441
int n,i,l,*p,tmp;//Khai bao cac bien, con tro
scanf("%d",&n);//nhap so luong phan tu mang
int a[n];p=a;//khai bao mang,gan con tro bang mang
for(i=0;i<n;i++)//nhap mang
scanf("%d",(p+i));
printf("Enter the number of elements: The input array is:\n");
for(i=0;i<n;i++)//in ra phan tu mang truoc khi sap xep
printf("%d ",*(p+i));
for(i=0;i<n-1;i++)//sap xep cac phan tu mang tu nho den lon
for(l=i+1;l<n;l++)
if(*(p+i)>*(p+l)){
Trang 14Kỳ h c 20231
printf("\nThe sorted array is:\n");
for(i=0;i<n;i++)//in ra phan tu mang sau khi sap xep
printf("%d ",*(p+i));
}
n nh p t bàn phím: ậ ừ
Trang 15#include<stdlib.h>
int main(){
//PHUNG XUAN NHAT - 20215441
int i,j,m,n,**mt=NULL,sum=0;//khai bao cac bien va con tro 2 chieu mt
scanf("%d %d",&n,&m);//nhap kich thuoc ma tran
mt=(int**)malloc(sizeof(int*)*n);//cap phat bo nho cho cot mang 2 chieu
for(i=0;i<m;i++)//cap phat bo nho cho cac phan tu
Trang 17scanf("%d",&n);//nhap so phan tu mang
int i,j,k,a[n];//khai bao cac bien va mang a n phan tu
Trang 18Kỳ h c 20231
Trang 19#include<stdio.h>
#include<stdlib.h>
// PHUNG XUAN NHAT - 20215441
Trang 20//HAM XUAT MANG 2 CHIEU
void output(int **a,int n){
//HAM TINH TONG VA TICH
void** addMulti(int** a,int** b,int n){
int i,j,k;
int **c;//KHAI BAO CON TRO 2 CHIEU
c=(int **)malloc(sizeof(int *)*n);//CAP PHAT BO NHO DONG 2 CHIEU CHO MANG C
c[i][j]=a[i][j]+b[i][j];//TINH TONG CAC PHAN TU
output(c,n);//IN RA TONG 2 MA TRAN
//tinh tich 2 ma tran
for(i=0;i<n;i++)
for(j=0;j<n;j++){
Trang 21input(a,n);//GOI HAM NHAP MANG A
input(b,n);//GOI HAM NHAP MANG B
addMulti(a,b,n);//GOI HAM TINH TONG VA TICH 2 MA TRAN
}