int maxValue = m[0][0];
for (int i = 0; i < N; i++)
{
for (int j = 0; j < N; j++)
{
if ( m[i][j] >maxValue )
{
maxValue = m[i][j];
}
}
}
cout<
`
Pour le code ci-dessus si nous dessinons un graphe de flux comme ceci les chemins indépendants de base seraient les suivants six
Chemin 1: 1 2 3 10 11 12 13 19
Chemin 2: 1 2 3 10 11 12 13 14 15 18 13 19
Chemin 3: 1 2 3 10 11 12 13 14 15 16 17 15 18 13 19
Chemin 4: 1 2 3 4 5 9 3 10 11 12 13 19
Chemin 5: 1 2 3 4 5 6 8 5 9 3 10 11 12 13 14 15 16 17 15 18 13 19
Chemin 6: 1 2 3 4 5 6 7 8 5 9 3 10 11 12 13 14 15 16 17 15 18 13 19
Donc, la question ici est que selon le code donné le chemin 2, 3, 4 ne peuvent pas être testés (Notez le "N" dans les boucles). Est-il donc acceptable de ne pas avoir un chemin d'exécution réel comme dans l'ensemble de base donné?... ou selon la métrique de complexité de McCabe devons-nous modifier le code donné ci-dessus. Parce qu'un de mes enseignants a dit que nous devons modifier le code et il a également dit qu'il y a des boucles non structurées donc nous devons modifier le code. (Je ne vois pas non plus de boucle non structurée) Mais j'ai l'impression que si nous changeons le code, la sortie réelle peut différer de la sortie attendue. Alors s'il vous plaît que quelqu'un explique cela
`