Изменены элементы зубчатого массива, когда код не получил доступ к нему - PullRequest
0 голосов
/ 11 апреля 2020

Cout из строк 21 и 24 по-разному выводит на терминал, но я никогда не говорил коду для доступа к c [i] [0], кроме строки 20, соответствующей строке 3 и строке 4 на терминале.

Используйте ампутацию и шлепки в качестве входных данных. Не спрашивайте, почему.

#include <iostream>
#include <string>
#include <algorithm>

using namespace std;

int m,n;
string X;
string Y;

int main(){
    cin>>X>>Y;
    m = X.size();
    n = Y.size();
    int c[m+1][n+1];
    for(int j = 0; j <= m; j++){
        c[0][j] = 0;
    }
    for (int i = 1; i <= n; i++){
        c[i][0] = 0;
        cout << c[i][0] ;   (line 21)
    }
    cout<< endl ;
    for(int i = 1; i <= n; i++){
        cout << c[i][0] ;    (line 24)
        for (int j = 1; j <= m; j++){
            if (Y.at(i-1) == X.at(j-1)){
                c[i][j] = c[i-1][j-1] + 1;
            }
            else{
                c[i][j] = max(c[i][j-1], c[i-1][j]);
            }
        }
    }
    cout<< endl ;
    for(int i = 0 ; i<=n; i++){
        for(int j = 0 ; j<=m; j++){
            cout << c[i][j] << " ";
        }
        cout << endl;
    }   
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...