Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (5.02 MB, 22 trang )
<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">
Ảnh 1: Mã nguồn bài 1.1
Ảnh 2: Kết quả bài 1.1
</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="5">//Bai 1.1. Viet mot chuong trinh C nhap vao 3 so nguyen. Thiet lap mot con tro de lan luot tro toi tung so nguyen va hien thi ket qua gia tri tham chieu nguoc cua con tro. //
//Luu y: Phep toan & tra ve dia chi cua bien. # include <stdio.h>
int main(){ int x, y, z; int* ptr;
printf("Enter three integers: "); scanf("%d %d %d", &x, &y, &z); printf("\nThe three integers are:\n");
ptr = &x; // gan dia chi cua bien x cho con tro ptr printf("x = %d\n", *ptr);
//*****************
int* ptrY,*ptrZ; // khai bao 2 con tro
ptrY= &y; ptrZ= &z; // gan dia chi bien y va z lan luot cho con tro tuong ung printf("y = %d\nz = %d\n",*ptrY,*ptrZ);
//Tran Xuan Bach - 20215528 //*****************/ return 0; }
</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="6">Ảnh 3: Mã nguồn và kết quả bài 1.2
//bai 1.2 Viet chuong trinh in ra dia chi cua 5 phan tu dau tien trong mang duoc dinh nghia sau day:
//int a[7]= {13, -355, 235, 47, 67, 943, 1222}; #include <stdio.h>
int main(){
int a[7]= {13, -355, 235, 47, 67, 943, 1222}; printf("address of first five elements in memory.\n");
for (int i=0; i<5;i++) printf("&a[%d] = %p\n",i,&a[i]); //in ra dia chi cua phan tu tuong ung
//Tran Xuan Bach 20215528 return 0;
}
</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="7">Ảnh 4: Mã nguồn bài 1.3
Ảnh 5: Kết quả bài 1.3
//Bài 1.3. 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. Sau đó sử dụng duy nhất một con trỏ để cộng giá trị của mỗi biến thêm 100. #include <stdio.h>
int main() { int x, y, z; int *ptr;
scanf("%d %d %d", &x, &y, &z); printf("Here are the values of x, y, and z:\n"); printf("%d %d %d\n", x, y, z); // /*****************
// gan lan luot dia chi cua bien x, y, z cho con tro ptr sau do cong 100 cho cac tham chieu nguoc tuong ung
</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="8">ptr= &x; *ptr+= 100; ptr= &y; *ptr+= 100; ptr= &z; *ptr+= 100;
//Tran Xuan Bach - 20215528 // *****************/
printf("Once again, here are the values of x, y, and z:\n"); printf("%d %d %d\n", x, y, z);
return 0; }
</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="9">Ảnh 6: Mã Nguồn Bài 1.4
Ảnh 7: Kêt quả bài 1.4
/ / Bài 1.4. 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, trả về số lượng số chẵn trong mảng???
int counteven(int* arr, int size){ int count = 0;
// /*****************
for(int i=0;i<size;i++){ //vong lap duyet qua cac phan tu trong mang if(!(*(arr+i)%2)) count++; // Neu phan tu dang duyet chia het cho hai thi tang bien dem 1 dv
}
//Tran Xuan Bach - 20215528 // *****************/ return count; }
</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="10">}
//Tran Xuan Bach - 20215528
</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="11">// *****************/ return max; }
</div><span class="text_page_counter">Trang 12</span><div class="page_container" data-page="12">Ảnh 12: Mã nguồn bài 1.7
</div><span class="text_page_counter">Trang 14</span><div class="page_container" data-page="14">Ảnh 13: Kết quả bài 1.7
//Yêu cầu chỉ sử dụng con trỏ để truy cập mảng, không truy cập theo index mảng. #include <stdio.h>
#include <new> // them thu vien <new> de su dung ham new[] va delete[] trong viec cap phat va xoa bo nho dong cho mang
int *a; int n, tmp; int main(){
printf("Enter the number of elements: "); scanf("%d", &n);
//#Allocate memory // /*****************
a = new int[n]; //cap phat bo nho dong cho mang a voi n phan tu kieu int// *****************/
for(int i = 0; i < n; i++) scanf("%d", a + i); printf("The input array is: \n"); for(int i = 0; i < n; i++) printf("%d ", *(a + i)); printf("\n"); //#Sort array // /*****************
// selection sort : xet tung vi tri cua mang va xep phan tu be nhat trong cac phan tu con lai vao vi tri dang xet
for(int i=0 ; i< n ; i++){ int *min= a +i; for(int j= i; j< n ; j++) if(*min>*(a +j)) min= a +j; int temp;
temp=*(a+i); *(a+i)=*min; *min=temp;
</div><span class="text_page_counter">Trang 15</span><div class="page_container" data-page="15">}
//Tran Xuan Bach 20215528 // *****************/ printf("The sorted array is: \n"); for(int i = 0; i < n; i++) printf("%d ", *(a + i)); printf("\n"); delete [] a; return 0; }
</div><span class="text_page_counter">Trang 16</span><div class="page_container" data-page="16">Ảnh 14: Mã nguồn bài 1.8
</div><span class="text_page_counter">Trang 18</span><div class="page_container" data-page="18">Ảnh 17: Mã nguồn bài 1.9
Ảnh 18: Kết quả bài 1.9
</div><span class="text_page_counter">Trang 19</span><div class="page_container" data-page="19">//Bai 1.9 Viet chuong trinh in ra tat ca cac day con cua mot day cho truoc. Vi du day 1 3 4 2 co cac day con sau:
#include <stdio.h> #define arrSize 4 //
void printChildArray(int arr[],int size){
for(int i = 0; i < size; i++) // vong lap voi i la phan tu dau cua day con for(int j = i; j < size; j++){ // vong lap voi j la phan tu cuoi cua day con
for(int k = i; k <= j ; k++) // vong lap in day con i -> j printf("%d ",arr[k]);
printf("\n"); } }
//Tran Xuan Bach 20215528 int main(){
int arr[arrSize]={1,3,4,2}; // arrsize = 4 printf("Day da cho la: ");
for(int i = 0; i < arrSize; i++) printf("%d ",arr[i]); printf("\n");
printf("Day con cua day da cho la: \n"); printChildArray(arr,arrSize); }
</div><span class="text_page_counter">Trang 20</span><div class="page_container" data-page="20">Ảnh 21: Mã nguồn bài 1.10 ( ếp)
Ảnh 22: Mã nguồn bài 1.10 ( ếp)
</div><span class="text_page_counter">Trang 21</span><div class="page_container" data-page="21">Ảnh 23: Kết quả bài 1.10
//Bai 1.10 Viet chuong trinh nhap vao 2 ma tran vuong cung kich thuoc n*n, trong do n nhap tu ban phim. Sau do tinh tong va tich cua hai ma tran do va dua ket qua ra man hinh.
//Yeu cau su dung cap phat dong de cap phat bo nho cho cac ma tran. #include <stdio.h>
#include <new> // them thu vien <new> de dung ham cap bo nho dong void allocate_mem(int ***mt, int n){
//#Allocate memory for the matrix
*mt = new int*[n]; // cap phat bo nho cho mang mt chua n con tro cua con tro
for (int i=0; i < n; i++)
(*mt)[i] = new int[n]; // cap phat bo nho cho moi con tro n[i] chua n so nguyen
}
void input(int **mt, int n,char name){ //#Input elements of the matrix //nhap cac phan tu cua mang for (int i=0;i<n;i++) for(int j=0;j<n;j++){
printf("%c[%d][%d] = ",name,i,j); scanf("%d",&mt[i][j]); }
}
void output(int **mt, int n){ //# Print all elements of the matrix for (int i=0;i<n;i++){
</div><span class="text_page_counter">Trang 22</span><div class="page_container" data-page="22">for(int j=0;j<n;j++) printf("%5d ",mt[i][j]); printf("\n"); } }
int** addMatrix(int **A,int **B, int n){ // ham cong ma tran int **result; // tao ma tran moi chua ket qua allocate_mem(&result, n); // cap phat bo nho for (int i=0;i<n;i++)
for(int j=0;j<n;j++)
result[i][j]= A[i][j]+B[i][j]; // thuc hien phep cong ma tran return result; // tra lai con tro de co the giai phong bo nho , tranh memory leak
}
int** timesMatrix(int **A,int **B, int n){ // ham nhan ma tran int **result; // tao ma tran moi chua ket qua allocate_mem(&result, n); // cap phat bo nho for (int i=0;i<n;i++)
for(int j=0;j<n;j++){ result[i][j]=0; for(int k=0;k<n;k++)
result[i][j]+= A[i][k]*B[k][j]; //thuc hien phep nhan ma tran }
return result; // tra lai con tro de co the giai phong bo nho , tranh memory leak
}
void free_mem(int **mt, int n){ //# Free memory for(int i=0; i<n; i++)
delete [] mt[i]; // giai phong cac hang delete [] mt; //giai phong mt }
//Tran Xuan Bach 20215528 int main(){
int n, **A,**B; //khai bao n, matran A,B printf("Nhap n = ");
free_mem(A, n); //Giai phong bo nho free_mem(B, n); //
free_mem(C, n); // return 0;
}
</div>