# GÓC SÁNG TẠO > Khu vực lập trình > C/C++ >  Tại sao mình viết xong và cho chạy thì nó chạy loạn hết lên

## Trịnh Nguyệt

Mình làm xong chương trình rùi chạy đúng kết quả nhưng khi cho chạy lại thì nó chạy loạn hết là sao vậy[IMG]data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABAQMAAAA  l21bKAAAAA1BMVEXh5PJm+yKVAAAAAXRSTlMAQObYZgAAAApJR  EFUCNdjYAAAAAIAAeIhvDMAAAAASUVORK5CYII=[/IMG]

----------


## nxtk2401

kì nhỉ, có khi nào chương trình C bạn đang dùng bị lỗi ko

----------


## victory355

post cái lỗi đó lên coi

----------


## kidhero321

Chắc lỗi lôgic ý mà, chạy thì đâu đống nghĩa với chạy đúng chứ. Chuyện thường.

----------


## hoanghuy87

tui chạy đúng rùi mà, lúc bị lỗi tui thoát ra vô lại thì chạy tốt nhưng chạy vài lần thì bị lại

----------


## vemaybayvietmy06

chương trình chạy loạn

----------


## cuongcung

> chương trình chạy loạn


Bạn có thể copy đoạn chương trình nên cho mình xem được không ? cái lập trình này chỉ cần thiếu 1 dấu ; thôi cũng đủ để chương trình lỗi roài bạn à.

----------


## tuanankpn

Đề nghị đưa code lên đi bạn ơi chứ nói không ai hình dung cho nỗi

----------


## apk4fun

#include <stdio.h>
#include <conio.h>
#include <math.h>
#define MAX 100
void nhap(int a[],int &n)
{
for (int i=1;i<=n;i++)
{
printf ("
 nhap phan tu thu %d: ",i);
scanf ("%d",&a_);
}
}
void xuat(int a[],int &n)
{ printf ("
 mang dau tien:");
for (int i=1;i<=n;i++)
printf ("%4d",a);
}
void hoanvi(int &a,int &b)
{ int x;
{ x=a;
a=b;
b=x;
}void daytang(int a[],int n)
{
for (int i=1;i<=n-1;i++)
for (int j=i+1;j<=n;j++)
{ if (a>a[j])
hoanvi(a,a[j]);
}
printf ("
 mang so khi sap xep:");
for (i=1;i<=n;i++)
printf ("%4d",a);
}
void xoa(int a[],int n,int x)
{ for (int i=x;i<=n;i++)
a=a[i+1];
n--;
printf ("
 day sau khi xoa:");
for (i=1;i<=n;i++)
printf ("%4d",a);
}
void chen(int a[],int n,int x,int b)
{ for (int i=n;i>x;i--)
a=a[i-1];
a[x]=b;
n++;
printf ("
mang sau khi chen vao:");
for (i=1;i<n;i++)
printf ("%4d",a);
daytang(a,n);
}
void songuyento(int a[],int n)
{
int dem = 0;
for (int i = 1;i <= n;i++)
{
for (int j = 2;j <= sqrt(a);j++)
{
if (a%j == 0)
dem++;
if (dem == 0)
printf ("%4d",a);
}
}
}
void main()
{
clrscr();
int a[MAX],n;
printf ("
 nhap phan tu mang:");
scanf ("%d",&n);
nhap(a,n);
xuat(a,n);
daytang(a,n);
int x;
printf ("
 ban muon xoa phan tu o vi tri:");
scanf ("%d",&x);
xoa(a,n,x);
int b;
printf ("
 ban muon thay vao gia tri:");
scanf ("%d",&b);
chen(a,n,x,b);
printf ("
 so nguyen to cua day:");
songuyento(a,n);
getch();
}_

----------


## nhocmisu@gmail.com

hm, minh chi biết C++, đọc C mình ko hỉu j hết

----------


## phunudep123

sao chẳng ai giúp mình vậy

----------


## yugowolf

Nếu mình ko nhầm thì c++, hay C có chỉ số mảng bắt đầu từ 0 chứ không phải bắt đầu từ 1 nhé. mình đã chạy chương trình của bạn trên VC++ 2008 và thấy sai.

mình nghĩ chương trình sai ở chỗ đó.

----------


## anh321

minh mới chỉ sửa cho bạn phần sắp xếp dãy. còn phần chèn mình cũng chưa bít phải sửa thế nào. cũng mới học nên chưa bít nhiều!
#include <stdio.h>
#include <conio.h>
#include <math.h>
#define MAX 100
void nhap(int a[],int n)
{
for (int i=1;i<=n;i++)
{
printf ("
 nhap phan tu thu %d: ",i);
scanf ("%d",&a_);
}
}
void xuat(int a[],int n)
{ 
printf ("
 mang dau tien:");
for (int i=1;i<=n;i++)
printf ("%4d",a);
}
void daytang(int a[],int n)
{
int t;
for (int i=1;i<=n;i++)
for (int j=i+1;j<=n;j++)
if (a>a[j])
{
t=a;
a=a[j];
a[j]=t;
}
printf ("
 mang so khi sap xep:");
for (i=1;i<=n;i++)
printf ("%4d",a);
}
void xoa(int a[],int n,int x)
{ 
for (int i=x;i<=n;i++)
a=a[i+1];
n--;
printf ("
 day sau khi xoa:");
for (i=1;i<=n;i++)
printf ("%4d",a);
}
void chen(int a[],int n,int x,int b)
{ 
for (int i=x;i<=n+1;i++)
{
a=a[i-1];
a[x]=b;
n++;
}
printf ("
 mang sau khi chen vao:");
for (i=1;i<=n;i++)
printf ("%4d",a);
daytang(a,n);
}
void songuyento(int a[],int n)
{
int dem = 0;
for (int i = 1;i <= n;i++)
{
for (int j = 2;j <= sqrt(a);j++)
{
if (a%j == 0)
dem++;
if (dem == 0)
printf ("%4d",a);
}
}
}
void main()
{
clrscr();textmode(C80);
int a[MAX],n;
printf ("
 nhap phan tu mang:");
scanf ("%d",&n);
nhap(a,n);
xuat(a,n);
daytang(a,n);
int x;
printf ("
 ban muon xoa phan tu o vi tri:");
scanf ("%d",&x);
xoa(a,n,x);
int b;
printf ("
 ban muon thay vao gia tri:");
scanf ("%d",&b);
chen(a,n,x,b);
printf ("
 so nguyen to cua day:");
songuyento(a,n);
getch();
}_

----------

