30/09/2018, 18:31
MN cho e hỏi...code này e chạy vẫn ra đúng nhưng nó hiện lỗi " .... has stopped working " là sao ạ
#include<conio.h>
#include<stdio.h>
#include<iostream>
using namespace std;
void nhap_Day(int *p,int n)
{
int i;
cout<<"nhap vao day d: "<<endl;
for(i=0;i<n;i++)
{
cout<<"phan tu "<<i<<" = ";
cin>>*(p+i);
}
}
void hien_Day(int *p,int n)
{
int i;
cout<<"day vua nhap la: "<<endl;
for(i=0;i<n;i++)
cout<<*(p+i)<<" ";
}
void chen_Kitu(int *p,int n)
{
int x,k,i;
bool stop;
cout<<endl<<"nhap vao x va k: ";
cin>>x>>k;
if(k>=1&&k<=n) stop=true;
else stop=false;
if(stop==true)
{
++n; //tang phan them phan tu cua day len 1
for(i=n+1;i>=k;i--)
{
*(p+i)=*(p+i-1);
}
*(p+k)=x;
hien_Day(p, n);
}
else cout<<"khong hop le. ";
}
main()
{
int *p,n;
p=new int[n];
do{
cout<<"nhap vao 5<=n<=30: ";
cin>>n;
}while(n<5||n>30);
nhap_Day(p,n);
hien_Day(p, n);
chen_Kitu(p,n);
}
Bài liên quan
n chưa được nhập gíá trị.
ơ a,cấp phát động được khai thế này mà
Thế thì mình hỏi bạn là bạn đang muốn cấp phát cho p bao nhiêu phần tử?
Bạn cấp phát xong rồi bạn mới nhập n thì máy làm sao nó biết?
bạn chạy thử đi,đến lúc chạy CT mình có nhập n mà.
nó nhận n này này,
Bạn phải nhập giá trị cho biến
n
trước câu lệnh nàyp=new int[n];
chứ không phải cấp phát động rồi mới nhập
n
mình sửa rồi nhưng nó vẫn báo lỗi đấy
bạn chạy có lỗi không,mình vẫn ra kết quả đúng nhưng xong lại thông báo "…has stopped working
chương trình chạy bình thường, không lỗi gì cả:
ps: trình biên dịch g++ (gcc compiler)
#include<conio.h>
#include<stdio.h>
#include
using namespace std;
void nhap_Day(int p,int n)
{
int i;
do{
cout<<"nhap vao 1<=n<=20: “;
cin>>n;
}while(n<1||n>20);
for(i=0;i<n;i++)
{
cout<<”(p+"<<i<<")= “;
cin>>*(p+i);
}
}
void hien_Day(int p,int n)
{
int i;
for(i=0;i<n;i++)
{
cout<<(p+i)<<” ";
}
}
main()
{
int n,*p;
p=new int[n];
nhap_Day(p,n);
hien_Day(p,n);
}
bài này là mình truyền tham chiếu cho n nên hàm hien_Day nó không in ra ,bạn chỉ mình cách truyền tham trị được không
Bạn bôi đen code rồi ấn Ctrl + K để format code nhá