杭电acm2033,运行错误是Runtime Error(ACCESS_VIOLATION), 这是神马意思?不知道哪里错了。。。

#include<iostream>
#include<iomanip>
using namespace std;
int main(){
int n,m,i,j,k,l=0;
double a[50][5],n_average[50],m_average[5],sum;
while(cin>>n>>m){
for(i=1;i<=n;i++){
for(j=1;j<=m;j++)
cin>>a[i][j];
}
for(i=1;i<=n;i++){
sum=0;
for(j=1;j<=m;j++){sum+=a[i][j];}
n_average[i]=sum/m;
}
cout<<setiosflags(ios::fixed)<<setprecision(2)<<n_average[1];
for(i=2;i<=n;i++){
cout<<" "<<setiosflags(ios::fixed)<<setprecision(2)<<n_average[i];
}
cout<<endl;
for(j=1;j<=m;j++){
sum=0;
for(i=1;i<=n;i++){
sum+=a[i][j];}
m_average[j]=sum/n;
}
cout<<setiosflags(ios::fixed)<<setprecision(2)<<m_average[1];
for(j=2;j<=m;j++){
cout<<" "<<setiosflags(ios::fixed)<<setprecision(2)<<m_average[j];
}
cout<<endl;
for(i=1;i<=n;i++){
k=0;
for(j=1;j<=m;j++){
if(a[i][j]>=m_average[j])k++;
else break;
}
if(k==m)l++;
}
cout<<l<<endl<<endl;
}
return 0;
}
啊,不好意思,弄错了,是2023

2033?
没搞错吧 输入就对不上追问

是2023,不好意思,弄错了

追答

数组越界了, 你从1开始向数组里写数据了 n最多是50 m最多是5
你开的数组太小了

追问

假设一个班有n(n<=50)个学生,每人考m(m<=5)门课
应该刚好才是啊

追答

数组下标是从0开始的
定义一个a[50]数组 就是从a[0]到a[49]
你从1开始读入 到n, 当n=50时,没有a[50],然后数组越界了

温馨提示:内容为网友见解,仅供参考
无其他回答

杭电acm总是Runtime Error (ACCESS_VIOLATION)
runtime error (运行时错误)就是程序运行到一半,程序就崩溃了。比如说:除以零 数组越界:int a[3]; a[10000000]=10 指针越界:int * p; p=(int *)malloc(5 * sizeof(int)); *(p+1000000)=10 使用已经释放的空间:int * p; p=(int *)malloc(5 * sizeof(int));free(p); *...

杭电acm2023,Runtime Error (ACCESS_VIOLATION)?
即 a[51][6] \/\/ 另外一个问题就是 每次循环后count1 没有重新置零 \/\/***#include <stdio.h>int main(){ int n, m, i, j, count1, count2; double a[51][6]; \/\/后面程序访问到 n 所以应该定义为a[51][6] while(scanf("%d%d", &n, &m) != EOF) {...

为什么提示Runtime Error(ACCESS_VIOLATION)?我用c语言,我自己的CF4...
可能是算法问题,复杂度太大,超过运行时间。在杭电有时间限制的

...已提交就是Runtime Error (ACCESS_VIOLATION)啊,请问是哪的问题_百...
runtime - error, 表示运行时错误, (access violation 表示访问越界)问题出在你的p指针上, 当执行完组数据时, 你的p指针没有指向申请的空间的起始地址,而是 当前这组测试数据的最后一个字符的地址, 当执行多组数据后,p指针会指向申请空间意外的地方,所以访问越界。我加了一个q指针, 保存申...

杭电acm 一直显示Runtime Error (ACCESS_VIOLATION) http:\/\/acm.hdu...
数组开小了。。你的代码这样改就AC了。。include<stdio.h> include<string.h> int main(){ int n;char zifu[1000];int i;scanf("%d",&n);getchar();for(i=0;i<n;i++){ int j,count=0;gets(zifu);for(j=0;j<strlen(zifu);j++){ if(zifu[j]<0)count++;} printf("%d\\n"...

...为什么总是提示Runtime Error(ACCESS_VIOLATION),我测试结果没问题啊...
Runtime Error一般是数组越界, 可能你数组定义小了

杭电acm1003为什么都过不了,显示Runtime Error(ACCESS_VIOLATION...
你的 mm 没有赋初值,所以会Runtime Error 还有就是 while的循环结束条件不足,如果到最后 m还是没有==0你就错了 这是ac的代码 include

杭电2084数塔的问题...Runtime Error (ACCESS_VIOLATION)
runtime error (运行时错误)就是程序运行到一半,程序就崩溃了。比如说:①除以零 ②数组越界:int a[3]; a[10000000]=10;③指针越界:int * p; p=(int *)malloc(5 * sizeof(int)); *(p+1000000)=10;④使用已经释放的空间:int * p; p=(int *)malloc(5 * sizeof(int));free...

杭电1328 Runtime Error (ACCESS_VIOLATION)怎么办?求大神
字符串数组空间开得太小了 你没注意到这句话吗?The following n lines each contain one string of at most 50 upper-case letters.最多可能有50个字符的,所以至少要开51个字符的空间 不然会越界 除了这个 还有一个错误 and replacing 'Z' by 'A'.这句话没做到 ...

杭电OJ1004题,结果Runtime Error(ACCESS_VIOLATION),请大牛为我查错...
题目说每种颜色最多15个字符,而你的程序中char name[15];显然你忽略了字符串最后一个结束符0,起码应该改为char name[16];另外还有一个问题, 你忘记初始化q了,你仅仅只是给q赋了一个全局的初值0,每个case开始的时候都应该初始化。 在while(N){的第一句写q=0;这样就可以了 ...

相似回答