функция вызова строковых массивов - PullRequest
0 голосов
/ 01 марта 2020

Я скомпилирован ниже, чем я думаю, грубый код:

#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 строковых функциях. я думаю, что возиться с памятью, потому что, когда компилятор достигает линии (ЭТА ЛИНИЯ), это cra sh. Я думаю, что я должен удалить память стека, но я не знаю точно, где я должен разместить эту команду. спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...