Tớ cũng không biết lỗi gì nữa , khi cậu chạy thì nó báo lỗi gì ? Có thể ghi nguyên vẹn câu ấy lên không ?
mình mới học c nên kô rõ về con trỏ lắm, mong các bạn giúp đỡ![]()
đề bài là: nhập vào dãy số nguyên in ra dãy chẵn và dãy lẻ, dùng con trỏ cấp phát động và thu hồi bộ nhớ!
PHP Code:#include<stdio.h>
#include<conio.h>
void main()
{
int *p,*round,*odd,i,j=-1,k=-1,n;
printf("so phan tu = ");
scanf("%d",&n);
p=round=odd=new int[n];//cap phat dong cho con tro
printf("\nnhap vao %d so nguyen\n",n);
for(i=0;i<n;i++)
{
scanf("%d",p+i);
if(*(p+i)%2==0)
*(round+(++j))=*(p+i);
else
*(odd+(++k))=*(p+i);
}
//in ra cac day so
printf("\nday so nhap vao la\n");
for(i=0;i<n;i++)
printf("%d\t",*(p+i));
printf("\nday so chan\n");
for(i=0;i<=j;i++)
printf("%d\t",*(round+i));
printf("\nday le\n");
for(i=0;i<=k;i++)
printf("%d\t",*(odd+i));
delete (p,round,odd);
getch();
}
Tớ cũng không biết lỗi gì nữa , khi cậu chạy thì nó báo lỗi gì ? Có thể ghi nguyên vẹn câu ấy lên không ?
Code:#include<stdio.h> #include<conio.h> void main() { int *p,*round,*odd,i,j=-1,k=-1,n; printf("so phan tu = "); scanf("%d",&n); p=new int[n]; round=new int[n]; odd=new int[n];//cap phat dong cho con tro printf("\nnhap vao %d so nguyen\n",n); for(i=0;i<n;i++) { scanf("%d",p+i); if(*(p+i)%2==0) *(round+(++j))=*(p+i); else *(odd+(++k))=*(p+i); } //in ra cac day so printf("\nday so nhap vao la\n"); for(i=0;i<n;i++) printf("%d\t",*(p+i)); printf("\nday so chan\n"); for(i=0;i<=j;i++) printf("%d\t",*(round+i)); printf("\nday le\n"); for(i=0;i<=k;i++) printf("%d\t",*(odd+i)); delete (p,round,odd); getch(); }
OoShinHaoO
đề bài là nhập vào 1 dãy số nguyên in ra 2 dãy chãn và lẻ dùng con trỏ
nhưng mình làm nó không ra
code thì dịch không có lỗi, nhưng kết quả thì kô như mong muốn
mình nghĩ là đây là sai do chưa hiểu hết về con trỏ!! và thuật toán
đã ngộ ra thưa các bác
thì ra là
p=round=odd=new int[n]; chỉ cấp phát cho một con trỏ
p=new int[n];round=new int[n];odd=new int[n] mới cấp phát cho 3 con trỏ
sai có một dòng heheheheh
Khi lập trình với C, tương tác với hệ thống tránh viết tắt nhé. Vì nhiều lúc nó không đúng theo nghĩa bạn hiểu bình thường đâu.
Thêm 1 kinh nghiệm nhé !
None!