//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("\nNhap vao so dong: ");
scanf("%d", &Sodong);
if(Sodong< 0)
printf("\nSo dong phai lon hon khong!");
}while(Sodong< 0);
do{
printf("\nNhap vao so cot: ");
scanf("%d", &Socot);
if(Socot< 0)
printf("\nSo 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("\n");
}//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("\nNhap vao ma tran: \n");
NhapMatran(Matrix, Sodong, Socot);
printf("\nMa tran moi nhap la: \n");
XuatMatran(Matrix, Sodong, Socot);
int dem= DemSoDuongTrenBien(Matrix, Sodong, Socot);
printf("\ncac 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 ạ
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?