сбой вызова функции строковых массивов
Я скомпилировал ниже то, что я думаю, грубый код:
#include <iostream>
#include <stdlib.h>
#include <unistd.h>
#include <ctime>
using namespace std;
string* mostraCarta1()
{string* Carta1 = new string[7];
Carta1[0]=" _____ ";
Carta1[1]="|A |";
Carta1[2]="| ^ |";
Carta1[3]="| / \\ |";
Carta1[4]="| \\ / |";
Carta1[5]="| V |";
Carta1[6]="|____V|";
return Carta1;
//delete[] Carta1;
}
string* mostraCarta2()
{string* Carta2 = new string[7];
Carta2[0]=" _____ ";
Carta2[1]="|A |";
Carta2[2]="| ^ |";
Carta2[3]="| /.\\ |";
Carta2[4]="|(_._)|";
Carta2[5]="| | |";
Carta2[6]="|____V|";
return Carta2;
//delete[] Carta2;
}
string* mostraCarta3()
{string* Carta3 = new string[7];
Carta3[0]=" _____ ";
Carta3[1]="|A |";
Carta3[2]="| ^ |";
Carta3[3]="| ( ) |";
Carta3[4]="|(_'_)|";
Carta3[5]="| | |";
Carta3[6]="|____V|";
return Carta3;
//delete[] Carta3;
}
string* mostraCarta4()
{string* Carta4 = new string[7];
Carta4[0]=" _____ ";
Carta4[1]="|A |";
Carta4[2]="| _ _ |";
Carta4[3]="|( v )|";
Carta4[4]="| \\ / |";
Carta4[5]="| V |";
Carta4[6]="|____V|";
return Carta4;
//delete[] Carta4;
}
void Presentazione()
{string Visualizza[7][5];
string *Valori;
Valori=mostraCarta1();
for (int j = 0; j <7; j++)
{Visualizza[j][1]=*(Valori+j);
}
Valori=mostraCarta2();
for (int j = 0; j <7; j++)
{Visualizza[j][2]=*(Valori+j);
}
Valori=mostraCarta3();
for (int j = 0; j <7; j++)
{Visualizza[j][3]=*(Valori+j);
}
Valori=mostraCarta4();
for (int j = 0; j <7; j++)
{Visualizza[j][4]=*(Valori+j);
}
Valori=mostraCarta2();
for (int j = 0; j <7; j++)
{Visualizza[j][5]=*(Valori+j);
}
for (int j = 0; j <7; j++)
{cout<<Visualizza[j][1]<<endl;
}
system("pause");
system("CLS");
for (int j = 0; j <7; j++)
{cout<<Visualizza[j][1]<<Visualizza[j][2]<<endl;
}
system("pause");
system("CLS");
for (int j = 0; j <7; j++)
{cout<<Visualizza[j][1]<<Visualizza[j][2]<<Visualizza[j][3]<<Visualizza[j][4]<<endl;
} //*************************************** (THIS LINE CRASH)
system("pause");
system("CLS");
for (int j = 0; j <7; j++)
{cout<<Visualizza[j][1]<<Visualizza[j][2]<<Visualizza[j][3]<<Visualizza[j][4]<<endl;
}
system("pause");
system("CLS");
}
это предназначено для вывода на экран последующих "карточек", состоящих из массива шрифтов asscii. они устанавливаются в первых 4 строковых функциях. Я думаю, что возился с памятью, потому что, когда компилятор достигает строки (ЭТА СТРОКА), он падает. Я думаю, мне нужно удалить стековую память, но я точно не знаю, где мне разместить эту команду. Спасибо