C++line.exe已停止工作
C++ line.exe has stopped working
我用C++编写了一些程序,它在矩阵中找到最长的水平行0s。在第一行中,我输入n和m(矩阵数组a中的行和列),然后输入数组。主要问题是,当我插入第一行(全部正确)时,程序停止,出现错误1073741510,line.exe已停止工作。
#include <iostream>
using namespace std;
int main()
{
int n, m;
cin >> n, m;
int a[n][m];
int i,j,k;
for (i=0;i<n;i=i+1){
for(j=0;j<m;j=j+1){
int temp;
cin >> temp;
a[i][j] = temp;
}
}
int max;
for (i=0;i<n;i++){
for(j=0;j<m;j++){
if(a[i][j]==0){
for(k=j+1;k<m;k++){
if(a[i][k]==0){
max++;
}else{break;}
}
}
}
}
cout << max;
return 0;
}
很抱歉出现了大量的for循环,我不知道解决问题的更好方法。
要同时读取数字n
和m
,请使用:
cin >> n >> m;
否则,由于您有cin >> n, m;
,它与等效
cin >> n;
m; // This has no effect
要获得正确操作算法的解决方案,请尝试以下操作:
int maxZeros = 0;
int lineContainingMaxZeros = 0;
for (i = 0; i < n; i++) {
int countZero = 0;
for (j = 0; j < m; j++) {
if (a[i][j] == 0)
countZero++;
}
if (countZero > maxZeros) {
maxZeros = countZero;
lineContainingMaxZeros = i;
}
}
cout << "Line: " << lineContainingMaxZeros << " containing " << maxZeros << " zeros";
相关文章:
- C++程序工作,但 Windows 显示"程序.exe已停止工作"
- circle.exe 在代码块中使用 graphics.h 时停止工作
- C++ / CannyEdgeDetection.exe 已停止工作 代码块 /OpenCV 错误:断言失败
- 找出一个正方形逻辑中可能的网格数量,但代码不接受超过六个输入,它停止并说.exe停止工作
- 当运行程序时,它说程序.exe停止工作
- 项目 1.exe 已无故停止工作 (C++)
- CodeBlocks Qt HelloWorld.exe已停止工作(C++)
- C++,exe在执行过程中已停止工作
- 如何修复.exe已停止工作
- 错误:不是.exe已停止工作 - 尝试构建 LLVM 时
- 程序给出程序.exe启动后约4秒停止工作
- C++程序.exe从二进制文件读取后已停止工作
- .exe已停止工作代码块 CPP
- EXE在编译后停止工作.(MysqlC++连接器)
- Project1.exe已停止工作.我似乎找不到我的SDL代码到底出了什么问题
- C++line.exe已停止工作
- 如何解决此错误:.exe文件已停止工作
- g++.exe已停止工作(eclipse)
- 代码中没有错误,但是当我运行程序时,我得到“多项式.exe已停止工作”.错误
- .exe已停止工作