Untitled

mail@pastecode.io avatar
unknown
plain_text
3 years ago
964 B
12
Indexable
Never
#include<stdio.h>
#include<stdlib.h>

int main()
{
	int** a, dong, cot; 

	do {
		printf("\nNhap vao so dong cua ma tran: ");
		scanf_s("%d", &dong);

		printf("\nNhap vao so cot cua ma tran: ");
		scanf_s("%d", &cot);

		if (dong <= 0 || cot <= 0) printf("\ngia tri khong hop le !, vui long nhap lai");

	} while (dong <= 0 || cot <= 0);

	// cấp phát vùng nhớ
	a = (int**)malloc(dong * sizeof(int)); 

	for (int i = 0; i < dong; i++)
	{
		a[i] = (int*)malloc(cot * sizeof(int));
	}

	// nhập ma trận
	for (int i = 0; i < dong; i++)
	{
		for (int j = 0; j < cot; j++)
		{
			printf("\nNhap vao a[%d][%d] = ", i, j);
			scanf_s("%d", &a[i][j]);
		}
	}

	// xuất ma trận
	for (int i = 0; i < dong; i++)
	{
		for (int j = 0; j < cot; j++)
		{
			printf("%4d", a[i][j]);
		}
		printf("\n");
	}

	// giải phóng bộ nhớ
	for (int i = 0; i < dong; i++)
	{
		free(a[i]);
	}
	free(a);

	return 0;
}