01/10/2018, 01:06

Sao chuong trinh lại báo sai ở đây ạ: "{".thanks

int tongcot2(int **a,int m,int n){
int i,j;
int S=0;
for(i=0;i<m;i++)
for(j=0;j<n;j++){
S+=a[i][2];
}

Khoa NTA viết 03:17 ngày 01/10/2018

Thiếu 1 dấu “}” ở cuối hàm Bạn mở ngoặc mà quên đóng. Có khai báo kiểu trả về thì nhớ return luôn nhá.

Chibi Nguyen viết 03:08 ngày 01/10/2018
#include<stdio.h>
#include<stdlib.h>
void nhapmt(int **a,int m,int n){
	int i,j;
    for(i=0;i<m;i++)
    for(j=0;j<n;j++){
    	printf("nhap phan tu a[%d][%d]",i,j);
    	scanf("%f",&a[i][j]);
	}
}
void inmt(int **a,int m,int n){
	int i,j;
	for(i=0;i<m;i++)
	printf("\n");
	for(j=0;j<n;j++){
		printf("%5.2f ",a[i][j]);
		
	}
}
int tichle(int **a,int m,int n){
	int i,j;
	int S=1;
	for(i=0;i<m;i++)
	for(j=0;j<n;j++){
		if(a[i][j]%2 != 0 && a[i][j]<30)S*=a[i][j];
	return S;
}
int tongcot2(int **a,int m,int n){
	int i,j;
	int S=0;
	for(i=0;i<m;i++)
	for(j=0;j<n;j++){
	S+=a[i][2];
	}

	return S;
}
int tongchan(int **a,int m,int n){
	int i,j;
	int S=0;
	for(i=0;i<m;i++)
	for(j=0;j<n;j++){
		if(a[i][j]%2==0)S+=a[i][j];
	}
	return S;
}
int tong35(int **a,int m,int n){
	int i,j;
	int S=0;
	for(i=0;i<m;i++)
	for(j=0;j<n;j++){
		if(a[i][j]%3==0 && a[i][j]%5!=0)S+=a[i][j];
	}
	return S;
}
int tongcchinh(int **a,int m,int n){
	int i,j;
	int S=0;
	for(i=0;i<m;i++)
	for(j=0;j<n;j++){
		if(i=j && m=n)S+=a[i][j];
	}
}
int main()
{
	int m,n;
	int **x;
	do{
		printf("nhap m="); scanf("%d",&m);
	}while(m<0 && m>10);
	do{
		printf("nhap n="); scanf("%d",&n);
	}while(n<0 && n>10);
	x= new int*[m];
	for(i=0;i<m;i++)
	  x[i]=new int[n];
	 printf("nhap ma tran:\n");
	 do{
	 	nhapmt(x,m,n);
	  }while(a[i][j]>1000);
	printf("ma tran da nhap la:\n");
	inmt(x,m,n);
	printf("tich phan tu le va nho hon 30 la:\n");
	tichle(x,m,n);
	printf("tong gia tri phan tu o cot 2 la:\n");
	tongcot2(x,m,n);
	printf("tong phan tu chan la:\n");
	tongchan(x,m,n);
	printf("tong cac gia tri chia het cho 3 nhung khong chia het chi 5 la:\n");
	tong35(x,m,n);
	printf("tong cac phan tu tren duong cheo chinh la:\n");
	tongcchinh(x,m,n);
	delete x;
}
Chibi Nguyen viết 03:17 ngày 01/10/2018

cả trương trinh đây a ơi giúp vs

Tynk Huynk viết 03:17 ngày 01/10/2018

Debug đi bạn, chẳng ai rảnh mà ngồi dò lỗi cho bạn đâu

Nguyễn Tấn Khoa viết 03:16 ngày 01/10/2018

Bạn nên cho mọi người biết lỗi gì và báo ở dòng nào chứ không ai rảnh đâu bạn à

Khoa NTA viết 03:14 ngày 01/10/2018

Hơi quá đáng đó bạn -_- Cũng phải tội nghiệp tui chứ. Tui chỉ tìm lỗi cú pháp thôi, còn chạy có lỗi gì thì tui không kiểm tra được :3 (vì tui đang hơi lười)

  1. Line 61: function tongcchinh: if(i=j && m=n)S+=a[i][j];: Sai toán tử so sánh.
  2. Line 24: function tichle: lỗi này là thiếu dấu { - giống như ở trên (do có 1 lệnh phía sau nên khỏi mở khối lệnh luôn cũng ok).
  3. Line 75: function main: for(i=0;i<m;i++): Biến i chưa được khởi tạo.
  4. Line 80: function main: }while(a[i][j]>1000);: Biến a chưa được khởi tạo.`
  5. Line … (còn nữa không thì không biết :)) )

Sau một hồi vạch lá tìm sâu ._. tui khuyên bạn học lại hết C hoặc C++ đi vì toàn lỗi cú pháp (có thể còn nhiều lỗi phát sinh trong quá trình thực thi nữa). Nếu bạn đang code trên C thì bạn học cách sử dụng hàm malloc, realloc, free thay cho newdelete (C++).

Mai Hữu viết 03:20 ngày 01/10/2018

Bạn nên tự tìm lỗi thì hay hơn. mấy cái này toàn lỗi cú pháp. nhớ thời mình mới học lập trình thì ấn buil là thanh báo lỗi tràn ngập. rồi cứ ngồi sửa dần. bây giờ viết sai cú pháp là rất thấp. có sai liếc qua cái là ra à

Bài liên quan
0