Je cours CodeBlocks sur le compilateur MingW dans une machine virtuelle XP. Je l'ai écrit dans un code simple, accessible à cl1p, qui répond à la question de l'algorithme à CodeChef (Eh bien, il répond que cela en partie, comme je l'ai pas encore inclus la boucle pour plusieurs cas de test.Différentes sorties après le débogage et la compilation de programmes C++
Cependant, mon problème est que lors de l'exécution en mode de débogage, il donne la sortie correcte 5, pour l'entrée:
Cependant, quand je générer et exécuter, il donne l'absurde, énorme sortie 131078, ce que voient ms comme des ordures à moi. Je ne comprends pas comment cela se passe, mais je suppose que c'est quelque chose à voir avec l'allocation de mémoire dynamique. Quel est le problème ici, et comment puis-je le réparer? Je l'ai même passé à travers le compilateur en ligne au BotSkool, et ça a bien fonctionné. Après avoir ajouté la boucle pour les cas de test, le code a même fonctionné correctement sur CodeChef!
#include <iostream>
using namespace std;
int main()
{
// Take In number of rows
int numofrows;
cin >> numofrows;
// Input Only item in first row
int * prevrow;
prevrow = new int[1];
cin >> prevrow[0];
// For every other row
for (int currownum = 1; currownum < numofrows; currownum++)
{
// Declare an array for that row's max values
int * currow;
currow = new int[currownum+1];
int curnum;
cin >> curnum;
// If its the first element, max is prevmax + current input
currow[0] = prevrow[0] + curnum;
// for every element
int i = 1;
for (; i <= currownum; i++)
{
cin >> curnum;
// if its not the first element, check whether prevmax or prev-1max is greater. Add to current input
int max = (prevrow[i] > prevrow[i-1]) ? prevrow[i] : prevrow[i-1];
// save as currmax.
currow[i] = max + curnum;
}
// save entire array in prev
prevrow = new int[i+1];
prevrow = currow;
}
// get highest element of array
int ans = 0;
for (int j=0; j<numofrows; j++)
{
if (prevrow[j] > ans)
{
ans = prevrow[j];
}
}
cout << ans;
}
Vous devez publier le code réel et non des liens vers celui-ci. –