Ошибка при инициализации значений 2-D массива в '0' в c ++, давая значения мусора - PullRequest
0 голосов
/ 10 апреля 2020

Ниже приведен код, я пробовал все остальные стили, упомянутые в комментариях один за другим, но ни один из них не работал для удаления значения мусора, хотя «jugaad» работает, но это не очень хорошая производительность. Не могу понять, что не так!

#include <bits/stdc++.h>
using namespace std;
int main() {
int n,m;
cin>>n>>m;
//    Other styles
//    int data[n+1][m+1] = {0,0};
//    int data[n+1][m+1] = {0};
//    int data[n+1][m+1] = {{0,0}};
int data[n][m] = {0};
//    Jugaad start:
for(int i=0;i<m;i++){
    data[0][i] = 0;
}
// Jugaad end
cout<<"\n";
    for(int x=0;x<n;x++){
        for(int y=0;y<m;y++){
            cout<<data[x][y]<<"\t";
        }
        cout<<"\n";
    }
cout<<"\n";
return 0;
}    

Снимок экрана с кодом и выводом

1 Ответ

0 голосов
/ 10 апреля 2020
for(int i=0;i<n;i++)
{
    for(int j=0;j<n;j++)
      {
         data[i][j] = 0;
      }
 ``}

Это установит все значения вашего массива на ноль

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...