回 帖 发 新 帖 刷新版面

主题:内存出错??

#include <iostream>
using namespace std;

struct num
{
 int num1;
  
};


int main ()
{


mun a[200];
num b[100];


int m,n,min=0,i,d=0,T;

cin>>T;
while(T--)
{

cin>>m;
if(m>=1 && m<100)
{
for(i=0;i<m;i++)
{
cin>>a[i].num1;
}

}


cin>>n;
if(n>=1&& n<100)
{

for(int j=0;j<n;j++)
{
cin>>b[j].num1;
a[i+j].num1=b[j].num1;  
}

}
memset(b,0,sizeof(b));

for(int g=0;g<m+n;g++)
for(int h=g;h<m+n;h++)
{
    
if(a[g].num1>a[h].num1)
{
min=a[g].num1;
a[g].num1=a[h].num1;
a[h].num1=min;
}

}    

d++;

cout<<"Case"<<" "<<d<<":"<<endl;

for(int y=0;y<(m+n);y++)
{
cout<<a[y].num1<<" ";

if(y>=100)
cout<<endl;

}
cout<<endl;

memset(a,0,sizeof(a));

}

}

内存出错??
不知道怎么改 

希望各位高手 帮个忙

回复列表 (共9个回复)

沙发

!!!!!!!!!!!!!!!!!!!!!!!!!!!

板凳

跪求 !!

3 楼

mun a[200];//这里应该是num a[200];
还有最前面加上一行#include <cstring>,否则memset怎么找到的?

你用什么编译器,像这种问题编译器应该告诉你在哪里出问题。

4 楼

额 
[em58][em58] num 写错了  

可还是不行 一样
 
在vC++上是可以运行,结果也正确,但是交在另外一个专用的网站上就不行
错误提示就给这个:
你的程序发生了运行时错误。可能是由于除于0、内存访问违规等运行时问题。

5 楼

[quote]mun a[200];//这里应该是num a[200];
还有最前面加上一行#include <cstring>,否则memset怎么找到的?

你用什么编译器,像这种问题编译器应该告诉你在哪里出问题。[/quote]
额 
   num 写错了  

可还是不行 一样
 
在vC++上是可以运行,结果也正确,但是交在另外一个专用的网站上就不行
错误提示就给这个:
你的程序发生了运行时错误。可能是由于除于0、内存访问违规等运行时问题。

6 楼

[quote]额 
[em58][em58] num 写错了  

可还是不行 一样
 
在vC++上是可以运行,结果也正确,但是交在另外一个专用的网站上就不行
错误提示就给这个:
你的程序发生了运行时错误。可能是由于除于0、内存访问违规等运行时问题。[/quote]

g++4.5.2编译OK,VC++2005编译OK,我怀疑你提交的那个网站编译器本身有bug

7 楼

是不是某些例子不过,多测试一些例子

8 楼

[quote][quote]额 
[em58][em58] num 写错了  

可还是不行 一样
 
在vC++上是可以运行,结果也正确,但是交在另外一个专用的网站上就不行
错误提示就给这个:
你的程序发生了运行时错误。可能是由于除于0、内存访问违规等运行时问题。[/quote]

g++4.5.2编译OK,VC++2005编译OK,我怀疑你提交的那个网站编译器本身有bug
[/quote]
说不定是,那个网站好像也是以前哪个牛逼学长编的  不过还是要感谢您无私帮助啊

9 楼

[quote]是不是某些例子不过,多测试一些例子[/quote]
一般都能过啊,以前有个费波纳徐数列,我用数组做也不能过,后来用函数方法调用才能过,唉,感谢您无私帮助

我来回复

您尚未登录,请登录后再回复。点此登录或注册