30/09/2018, 20:21

Nhờ chỉnh sửa code

//dem so luong so duong tren bien cua ma tran so thuc
#include <stdio.h>
#include <conio.h>

void NhapMatran(float Matrix[][100], int &Sodong, int &Socot) {
	do{
		printf("
Nhap vao so dong: ");
		scanf("%d", &Sodong);

		if(Sodong< 0) 
			printf("
So dong phai lon hon khong!");
	}while(Sodong< 0);

	do{
		printf("
Nhap vao so cot: ");
		scanf("%d", &Socot);

		if(Socot< 0) 
			printf("
So cot phai lon hon khong!");
	}while(Socot< 0);

	for(int i= 0; i< Sodong; i++) {
		for(int j= 0; j< Socot; j++) {
			float temp;
			printf("Nhap Matrix[%d][%d]: ", i, j);
			scanf("%f", &temp);
			Matrix[i][j]= temp;
		}
	}
}

void XuatMatran(float Matrix[][100], int Sodong, int Socot) {
	for(int i= 0; i< Sodong; i++) {
		for(int j= 0; j< Socot; j++) {
			printf("%8.3f  ", Matrix[i][j]);
		}//end for j
		printf("
");
	}//end for i
}

int DemSoDuongTrenBien(float Matrix[][100], int Sodong, int Socot) {
	int dem= 0;
	for(int j= 0; j< Socot; j++){
		if(Matrix[0][j]> 0) {
			dem++;
		}
		if(Matrix[Socot- 1][j]> 0) {
			dem++;
		}
	}

	for(int i= 1; i< Sodong- 1; i++){
		if(Matrix[i][0]> 0) {
			dem++;
		}
		if(Matrix[i][Sodong- 1]> 0) {
			dem++;
		}
	}
	return dem;
}

void main() {
	float Matrix[100][100];
	int Sodong, Socot;

	printf("
Nhap vao ma tran: 
");
	NhapMatran(Matrix, Sodong, Socot);
	printf("
Ma tran moi nhap la: 
");
	XuatMatran(Matrix, Sodong, Socot);

	int dem= DemSoDuongTrenBien(Matrix, Sodong, Socot);
	printf("
cac so duong co tren bien la: %d", dem);

	getch();
}

ví dụ khi em nhập:

-1 2 -3 -4 5
2 -1 1 -6 -5
8 7 5 1 -4
-4 -4 2 6 4
đáng lẽ là 7 nhưng kết quả chương trình có 5 thôi
em nhập vào ma trận thì nó ra kết quả sai ạ. các cao thủ chỉ cho em cái sai với
Thanks nhiều ạ

Hồ Sỹ Kiên viết 22:32 ngày 30/09/2018

for(int i= 1; i< Sodong- 1; i++){ // for(i=0; i<sodong; i++) // vòng for này phải bắt đầu từ 1 nếu khong sẽ trùng lặp với giá trị trên dòng if(Matrix[i][0]> 0) { dem++; } if(Matrix[i][Sodong- 1]> 0) { Matrix[i][Socot-1] > 0 dem++; } }

đã sửa được. thanks bnaj nhiều

Bài liên quan
0