Tìm điểm nằm phía trên đường thẳng

Tình hình là hôm nay em viết mấy cái hàm kiểu này toàn bị sai, các bác xem qua tìm lỗi rồi giảng lại cho em với.
Đề bài là:

#include"stdio.h"
#include"math.h"
void nhapxuat(int n);
void demdiem(int x[100],int y[100],int n);
int main(){
	int n,x[100],y[100];
	printf("nhap so diem\n"); scanf("%d",&n);
	nhapxuat(n);
	
	demdiem(x,y,n);
}
void nhapxuat(int n){
	int x[100],y[100],i;
	for(i=1;i<=n;i++)
		{printf("\nx[%d]=",i); scanf("%d",&x[i]);
		 printf("y[%d]=",i); scanf("%d",&y[i]);
		}
	printf("day diem vua nhap\n");
	for(i=1;i<=n;i++)
		printf("(%d,%d) ",x[i],y[i]);
}
void demdiem(int x[100],int y[100],int n){
	int i,dem=0,a,b;
	printf("\nnhap a va b cua dt ax+b=y\n");
	scanf("%d%d",&a,&b);
	for(i=1;i<=n;i++)
	{if(y[i]>x[i]*a+b)
	 {
	  printf("(%d,%d) ",x[i],y[i]);
	  dem=dem+1;
	 }
	}
	printf("so diem nam tren dt la %d\n",dem);
}
1 Like

Chưa biết thuật toán sai, đúng ra sao.
Phần nhập các điểm của bạn bị sai. Biến xy khai báo cục bộ trong hàm, ra khỏi hàm thì mất tiêu.

5 Likes

sau khi bạn chạy hàm nhập
x và y trong main có bị thay đổi gì đâu
bạn viết hết chương trình rồi mới test, thì sai sẽ không biết sai ở đâu là phải rồi
hàm nhapxuat(n), x và y mà bạn nhập chỉ là biến trong hàm đó thôi, không liên quan gì hàm main cả

5 Likes

bạn nhớ phải truyền đầy đủ các tham số vào hàm con nhé

void nhapxuat(int n,int x[],int y[])
{
	printf("\nNhap so luong diem x va y: ");scanf("%d",&n);
	for(int i=1;i<=n;i++)
	{
    	printf("\nx[%d]=",i); scanf("%d",&x[i]);
	    printf("y[%d]=",i); scanf("%d",&y[i]);
	}
	printf("day diem vua nhap\n");
	for(int i=1;i<=n;i++)
	printf("(%d,%d) ",x[i],y[i]);
}
void demdiem(int n,int x[],int y[])
{
	int i,dem=0,a,b;
	printf("\nnhap a va b cua dt ax+b=y\n");
	scanf("%d%d",&a,&b);
	for(i=1;i<=n;i++)
	{
	    if(y[i]>x[i]*a+b)
	    {
       	    printf("(%d,%d) ",x[i],y[i]);
     	    dem++;
   	    }
	}
	printf("so diem nam tren dt la %d\n",dem);
}

int main()
{
	int n,x[100],y[100];
	nhapxuat(n,x,y);	
	demdiem(n,x,y);
	return 0;
}
3 Likes

Code của bạn viết C và C++ viết lẫn lộn cả lên !

4 Likes

Xin lỗi nhé hihi :sweat_smile: tại mình chỉ học c++ nên chưa rành về các câu lệnh bên c cho lắm nhưng mà ý tưởng vẫn vậy

Hihi, nhắc vậy để nhiều bạn mới học nhìn vào không bị nhầm lẫn, nhất là việc C KHÔNG có reference.

5 Likes

Mình từng nghĩ là c có thể đc truyền tham chiếu như c++ ai ngờ c chỉ dùng được con trỏ thôi ah bạn

C++ còn rất nhiều cú pháp nữa mà C không có :smiley: nên tách hẳn ra từ hồi C++11 kìa.

Ví dụ: từ khóa auto và foreach.

3 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?