Tải bản đầy đủ (.docx) (7 trang)

LAB 7 Kỹ thuật lập trình

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 (54.22 KB, 7 trang )

LAB 7
Nguyễn Hoài Danh
1610391
Phần 1:
Câu 1:
#include<iostream>
using namespace std;
int main()
{
int n; double d; int* ptr;
ptr = &n;
cout << ptr << endl;
//in ra dia chi cua bien nguyen n
ptr = &d;

//error, vi d co kieu double ma con tro luu dia chi cua bien nguyên nên báo

loi
cout << ptr << endl;
ptr = 0; // gán con tro bang Null, tuc là khong tro den dia chi nào
cout << ptr << endl;
//in ra 00000000
ptr = 1000;

//error, vi ptr la de luu dia chi cua bien, o dây 1000 là mot so nguyên nên báo

loi
cout << ptr << endl;

system("pause");
}


Câu 2:
#include<iostream>
using namespace std;
int main()
{
cout << "kich thuoc kieu: " << endl;
cout << " int va int*: " ;
cout << sizeof(int)<<" "<< sizeof(int*) << endl;
cout << " double va double*: ";
cout << sizeof(double) << " " << sizeof(double*) << endl;
cout << " char va char*: ";
cout << sizeof(char) << " " << sizeof(char*) << endl;
cout << " long long va long long*: ";
cout << sizeof(long long) << " " << sizeof(long long*) << endl;
cout << " long double va long double*: ";
cout << sizeof(long double) << " " << sizeof(long double*) << endl;
//cac kieu pointer deu co kich thuoc 4byte


system("pause");
}


Câu 3:
#include<iostream>
#include<stdio.h>
using namespace std;
int main()
{
int n = 100;

int *ptr1, *ptr2, *ptr3;
ptr1 = &n;
ptr2 = &n;
ptr3 = ptr1;
printf("%d\n", n); //in ra gia tri n=100
printf("%d\n", *ptr1);
printf("%d\n", *ptr2);
vi cùng tro toi n
printf("%d\n", *ptr3);
printf("%p\n", &n);
printf("%p\n", &ptr1);
printf("%p\n", &ptr2);
printf("%p\n", &ptr3);

//in ra gia tri cua bien ma no tro toi, 3 dong nay deu cho gia tri =100

//in dia chi cua bien n
//in dia chi cua bien ptr1
//in dia chi cua bien ptr2
//in dia chi cua bien ptr3

system("pause");
}
Câu 4:
#include<iostream>
using namespace std;
int main()
{
int arr[10] = { 10,20,30,40,50 };
int*ptr;

ptr = arr;
cout << ptr[0] << endl << ptr[1] << endl << ptr[2] << endl;
//in ra 3 dong
//10
//20
//30
ptr = &arr[0];
cout << ptr[0] << endl << ptr[1] << endl << ptr[2] << endl;
//in ra 3 dong
//10
//20
//30


ptr = &arr[2];
cout << ptr[0] << endl << ptr[1] << endl << ptr[2] << endl;
//in ra 3 dong
//30
//40
//50
system("pause");
}
Câu 5:
#include<iostream>
#include<stdio.h>
using namespace std;
int main()
{
int *ptr;
ptr = 0;

printf("%p\n",&ptr);
printf("%d\n",*ptr);
toi
system("pause");
}

//in dia chi cua bien con tro ptr
//error vi chua tro den bien nào nên khong the in ra gia tri duoc tro

Phần 2:
Câu 2:
#include<iostream>
#include<math.h>
#include<ctime>
#include<cstdio>
#include<iomanip>
using namespace std;
int main()
{
int N;
cin >> N;
double *vector_1 = new double[N];
double *vector_2 = new double[N];
for (int i = 0; i < N; i++)
{
//sinh ngau nhien cac phan tu
vector_1[i] = -10 + rand() % (21);
}
for (int i = 0; i < N; i++)
{

//sinh ngau nhien cac phan tu
vector_2[i] = -10 + rand() % (21);
}
double sumbinhphuong1=0, sumbinhphuong2=0, tichvohuong=0;
for (int i = 0; i < N; i++)
{
sumbinhphuong1 += vector_1[i] * vector_1[i];
sumbinhphuong2 += vector_2[i] * vector_2[i];
tichvohuong += vector_1[i] * vector_2[i];
}


double dodai1, dodai2;
dodai1 = sqrt(sumbinhphuong1);
dodai2 = sqrt(sumbinhphuong2);
cout << "So dai vt1" << dodai1 << endl;
cout << "So dai vt2" << dodai2 << endl;
cout << "tich vo huong" << tichvohuong << endl;
delete[] vector_1; vector_1 = NULL;
delete[] vector_2; vector_1 = NULL;
}

system("pause");

Câu 3:
#include<iostream>
#include<math.h>
#include<ctime>
#include<cstdio>
#include<iomanip>

using namespace std;
int main()
{
int N;
cin >> N;
int**matran = 0;
matran=new int*[N];
for (int i = 0; i < N; i++)
{
matran[i] = new int[N];//cap phat
}
srand(time(NULL));
for (int i = 0; i < N; i++)
{
for (int j = 0; j < N; j++)//sinh ngau nhien cac phan tu
{
matran[i][j] = -40 + rand() % (91);
}
}
for (int i = 0; i < N; i++)
{
for (int j = 0; j < N; j++) //in matran truoc khi doi
{
cout << setw(3) << matran[i][j] << " ";
}
cout << endl;
}
cout << endl;
for (int i = 0; i < N/2; i++)
{

matran[i][i] = matran[N - 1 - i][N-i-1];// doi cac ph.tu matran tren duong cheo
chinh

}
for (int i = 0; i < N; i++)
{
for (int j = 0; j < N; j++)// in matran sau khi doi
{
cout << setw(3)<}


cout << endl;
}
cout << endl;

}

for (int i = 0; i < N; i++)
{
delete[]matran[i];//giai phong cap phat
}
delete matran;
system("pause");

Câu 4:
Sử dụng mảng động:
#include<iostream>
#include<math.h>
using namespace std;

#define MAX_SIZE 100
int main()
{
int i, dem = 0;
double sum = 0, sd, tb;
double* arr=new double[MAX_SIZE];
cout << "Nhap cac so: " << endl;
for (i = 0; i < MAX_SIZE; i++)
{
cin >> arr[i];
if (arr[i] < 0)break;
dem++;
sum = sum + arr[i];
}
tb = sum / dem;
sd = 0;
for (i = 0; i < dem; i++)
{
sd = sd + pow(arr[i] - tb, 2);
}
sd = sqrt(sd / (dem - 1));
cout << "Trung Binh:" << tb << endl << "Do lech chuan" << sd << endl;
delete[] arr;
system("pause");
}

Câu 9:
#include<iostream>
using namespace std;
int main()

{
int ROWS1, COLUMNS1, ROWS2, COLUMNS2;
cin >> COLUMNS1 >> ROWS1 ;
cin >> COLUMNS2 >> ROWS2;
int **myArray1 = 0;
myArray1 = new int *[ROWS1];
for (int i = 0; i < ROWS1; i++)
myArray1[i] = new int[COLUMNS1];
for (int i = 0; i < ROWS1; i++)
{
for (int j = 0; j {


cin >> myArray1[i][j];
}

}

int **myArray2 = 0;
myArray2 = new int *[ROWS2];
for (int i = 0; i < ROWS2; i++)
myArray2[i] = new int[COLUMNS2];
for (int i = 0; i < ROWS2; i++)
{
for (int j = 0; j {
cin >> myArray2[i][j];
}
}

for (int i = 0; i < ROWS1; i++)
{
for (int j = 0; j {
cout<< myArray1[i][j]<<" ";
}
cout << endl;
}
for (int i = 0; i < ROWS2; i++)
{
for (int j = 0; j {
cout << myArray2[i][j] << " ";
}
cout << endl;
}
for (int i = 0; i < ROWS1; i++)
delete[] myArray1[i];
delete[] myArray1;
for (int i = 0; i < ROWS2; i++)
delete[] myArray2[i];
delete[] myArray2;
}

system("pause");



Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×