Ciao,
Io utilizzo questo codice:
codice:
#include<cstdlib>
#include<iostream>
using namespace std;
void espandiArray(int vect[], int length) {
int sum=0;
for(int i=0; i<length; i++) {
sum += abs(vect[i]);
}
int array[sum];
int index = 0;
// effettua l'espansione
for(int i=0; i<length; i++) {
int n = vect[i];
if(n < 0) {
while(n != 0) {
array[index] = -1;
n++;
index++;
}
}
else if(n > 0) {
while(n != 0) {
array[index] = 1;
n--;
index++;
}
}
}
cout << "[";
for(int i=0; i<index; i++) {
cout << array[i] << ",";
}
cout << "]";
}
int main() {
int vect[] = {-2,0,1,0,3,2,-5};
espandiArray(vect,7);
return 0;
}
e funziona senza problemi... questo è l'output della versione attuale:
codice:
[-1,-1,1,1,1,1,1,1,-1,-1,-1,-1,-1,]