Tu sugerencia me ayudó a resolver el problema. Gracias!!!
Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.
Mostrar Mensajes Menúvoid Pescado::Sentido_Pescado(){
if(sentido==1) sentido=2;
if(sentido==2) sentido=1;
}
#include <iostream>
#include <cstdlib>
#include <conio2.h>
#include <ctime>
using namespace std;
const int bizq=6;
const int bder=75;
const int bsup=6;
const int binf=19;
class Pescado{
protected:
int velocidad;
int color;
int sentido;
int pos_x;
int pos_y;
int prev_x;
int prev_y;
int dir_x;
int dir_y;
int mov_vertical;
clock_t t_inicial;
clock_t t_final;
char array_b[6][12];
char array_s[10][4];
public:
void Mover_Pescado();
void Sentido_Pescado(int x);
};
class Pescado1 : public Pescado{
public:
Pescado1(int x, int y);
void Borrar_Pescado1();
void Cuerpo_Pescado1();
void Dibujar_Pescado1();
};
class Pescado2 : public Pescado{
public:
Pescado2(int x, int y);
void Borrar_Pescado2();
void Cuerpo_Pescado2();
void Dibujar_Pescado2();
void Color_Pescado2();
};
void Pescado::Mover_Pescado(){
prev_x = pos_x;
prev_y = pos_y;
t_final = clock();
if((velocidad + t_inicial) < t_final){
int mov_vertical = rand()%2+1; // 1-arriba 2-abajo
if(sentido==1) pos_x-=dir_x;
if(sentido==2) pos_x+=dir_x;
if(mov_vertical==1) pos_y-=dir_y;
if(mov_vertical==2) pos_y+=dir_y;
if(pos_x < bizq){
Pescado::Sentido_Pescado(2);
dir_x = -dir_x;
pos_x = bizq;
}
if(pos_x > bder-12){
Pescado::Sentido_Pescado(1);
dir_x = -dir_x;
pos_x = bder-12;
}
if(pos_y < bsup){
dir_y = -dir_y;
pos_y = bsup;
}
if(pos_y > binf){
dir_y = -dir_y;
pos_y = binf;
}
t_inicial = t_final;
}
}
void Pescado::Sentido_Pescado(int x){
if(x==1) sentido=1;
if(x==2) sentido=2;
}
Pescado1::Pescado1(int x, int y){
velocidad=x;
color=y;
dir_x=1;
dir_y=1;
pos_x = rand()%61+10;
pos_y = rand()%6+10;
sentido = rand() % 2+1; // mira izq/ mira der
t_inicial = clock();
}
void Pescado1::Borrar_Pescado1(){
for(int k=0;k<6;k++){
for(int p=0;p<12;p++){
putchxy(prev_x+p,prev_y+k,' ');
}
}
}
void Pescado1::Cuerpo_Pescado1(){
if(sentido==1){ //pescado mirando izquierda
array_b[0][0]=32;array_b[0][1]=32;array_b[0][2]=32;array_b[0][3]=32;array_b[0][4]=32;array_b[0][5]=32;array_b[0][6]=95;array_b[0][7]=44;array_b[0][8]=32;array_b[0][9]=32;array_b[0][10]=32;array_b[0][11]=32;
array_b[1][0]=32;array_b[1][1]=32;array_b[1][2]=32;array_b[1][3]=32;array_b[1][4]=95;array_b[1][5]=47;array_b[1][6]=123;array_b[1][7]=95;array_b[1][8]=32;array_b[1][9]=32;array_b[1][10]=32;array_b[1][11]=32;
array_b[2][0]=32;array_b[2][1]=46;array_b[2][2]=39;array_b[2][3]=32;array_b[2][4]=32;array_b[2][5]=32;array_b[2][6]=32;array_b[2][7]=39;array_b[2][8]=46;array_b[2][9]=47;array_b[2][10]=180;array_b[2][11]=62;
array_b[3][0]=47;array_b[3][1]=32;array_b[3][2]=101;array_b[3][3]=32;array_b[3][4]=40;array_b[3][5]=40;array_b[3][6]=32;array_b[3][7]=32;array_b[3][8]=32;array_b[3][9]=61;array_b[3][10]=60;array_b[3][11]=32;
array_b[4][0]=32;array_b[4][1]=39;array_b[4][2]=46;array_b[4][3]=44;array_b[4][4]=95;array_b[4][5]=95;array_b[4][6]=44;array_b[4][7]=46;array_b[4][8]=39;array_b[4][9]=92;array_b[4][10]=95;array_b[4][11]=62;
array_b[5][0]=32;array_b[5][1]=32;array_b[5][2]=32;array_b[5][3]=32;array_b[5][4]=32;array_b[5][5]=32;array_b[5][6]=92;array_b[5][7]=41;array_b[5][8]=32;array_b[5][9]=32;array_b[5][10]=32;array_b[5][11]=32;
}
if(sentido==2){ //pescado mirando derecha
array_b[0][0]=32;array_b[0][1]=32;array_b[0][2]=32;array_b[0][3]=32;array_b[0][4]=44;array_b[0][5]=95;array_b[0][6]=32;array_b[0][7]=32;array_b[0][8]=32;array_b[0][9]=32;array_b[0][10]=32;array_b[0][11]=32;
array_b[1][0]=32;array_b[1][1]=32;array_b[1][2]=32;array_b[1][3]=32;array_b[1][4]=95;array_b[1][5]=125;array_b[1][6]=92;array_b[1][7]=95;array_b[1][8]=32;array_b[1][9]=32;array_b[1][10]=32;array_b[1][11]=32;
array_b[2][0]=60;array_b[2][1]=96;array_b[2][2]=92;array_b[2][3]=46;array_b[2][4]=39;array_b[2][5]=32;array_b[2][6]=32;array_b[2][7]=32;array_b[2][8]=32;array_b[2][9]=39;array_b[2][10]=46;array_b[2][11]=32;
array_b[3][0]=32;array_b[3][1]=62;array_b[3][2]=61;array_b[3][3]=32;array_b[3][4]=32;array_b[3][5]=32;array_b[3][6]=41;array_b[3][7]=41;array_b[3][8]=32;array_b[3][9]=101;array_b[3][10]=32;array_b[3][11]=92;
array_b[4][0]=60;array_b[4][1]=95;array_b[4][2]=47;array_b[4][3]=39;array_b[4][4]=46;array_b[4][5]=44;array_b[4][6]=95;array_b[4][7]=95;array_b[4][8]=44;array_b[4][9]=46;array_b[4][10]=39;array_b[4][11]=32;
array_b[5][0]=32;array_b[5][1]=32;array_b[5][2]=32;array_b[5][3]=32;array_b[5][4]=40;array_b[5][5]=47;array_b[5][6]=32;array_b[5][7]=32;array_b[5][8]=32;array_b[5][9]=32;array_b[5][10]=32;array_b[5][11]=32;
}
}
void Pescado1::Dibujar_Pescado1(){
Pescado1::Borrar_Pescado1();
Pescado1::Cuerpo_Pescado1();
for(int i=0; i<6; i++){
for(int j=0; j<12; j++){
textcolor(color);
putchxy(pos_x+j,pos_y+i,array_b[i][j]);
}
}
}
Pescado2::Pescado2(int x, int y){
velocidad=x;
color=y;
dir_x=1;
dir_y=1;
pos_x = rand()%61+10;
pos_y = rand()%6+10;
sentido = rand() % 2+1; // mira izq/ mira der
t_inicial = clock();
}
void Pescado2::Borrar_Pescado2(){
for(int k=0;k<10;k++){
for(int p=0;p<4;p++){
putchxy(prev_x+k,prev_y+p,' ');
}
}
}
void Pescado2::Cuerpo_Pescado2(){
if(sentido==1){ //pescado mirando izquierda
array_s[0][0]=0;array_s[0][1]=0;array_s[0][2]=47;array_s[0][3]=39;
array_s[1][0]=0;array_s[1][1]=46;array_s[1][2]=111;array_s[1][3]=45;
array_s[2][0]=0;array_s[2][1]=45;array_s[2][2]=0;array_s[2][3]=45;
array_s[3][0]=47;array_s[3][1]=0;array_s[3][2]=41;array_s[3][3]=39;
array_s[4][0]=124;array_s[4][1]=0;array_s[4][2]=41;array_s[4][3]=39;
array_s[5][0]=0;array_s[5][1]=45;array_s[5][2]=0;array_s[5][3]=39;
array_s[6][0]=0;array_s[6][1]=46;array_s[6][2]=0;array_s[6][3]=39;
array_s[7][0]=0;array_s[7][1]=0;array_s[7][2]=92;array_s[7][3]=39;
array_s[8][0]=0;array_s[8][1]=0;array_s[8][2]=47;array_s[8][3]=92;
array_s[9][0]=0;array_s[9][1]=0;array_s[9][2]=40;array_s[9][3]=40;
}
if(sentido==2){ //pescado mirando derecha
array_s[0][0]=0;array_s[0][1]=0;array_s[0][2]=41;array_s[0][3]=41;
array_s[1][0]=0;array_s[1][1]=0;array_s[1][2]=92;array_s[1][3]=47;
array_s[2][0]=0;array_s[2][1]=0;array_s[2][2]=47;array_s[2][3]=39;
array_s[3][0]=0;array_s[3][1]=46;array_s[3][2]=0;array_s[3][3]=39;
array_s[4][0]=0;array_s[4][1]=45;array_s[4][2]=0;array_s[4][3]=39;
array_s[5][0]=124;array_s[5][1]=0;array_s[5][2]=40;array_s[5][3]=39;
array_s[6][0]=92;array_s[6][1]=0;array_s[6][2]=40;array_s[6][3]=39;
array_s[7][0]=0;array_s[7][1]=45;array_s[7][2]=0;array_s[7][3]=45;
array_s[8][0]=0;array_s[8][1]=46;array_s[8][2]=111;array_s[8][3]=45;
array_s[9][0]=0;array_s[9][1]=0;array_s[9][2]=92;array_s[9][3]=39;
}
}
void Pescado2::Dibujar_Pescado2(){
Pescado2::Borrar_Pescado2();
Pescado2::Cuerpo_Pescado2();
for(int i=0; i<10; i++){
for(int j=0; j<4; j++){
textcolor(color);
putchxy(pos_x+i,pos_y+j,array_s[i][j]);
}
}
}
void Pescado2::Color_Pescado2(){
if(color==15) color=1;
else color+=1;
}
int main(int argc, char *argv[]){
_setcursortype(_NOCURSOR);
srand(time(NULL));
Pescado1 Rojo(50,12);
Pescado1 Verde(80,10);
Pescado2 Amarillo(60,14);
Pescado2 Cyan(125,11);
while(true){
if(kbhit()) {
int tecla=getch();
switch(tecla)
{
case 49:
Rojo.Sentido_Pescado(1);
Verde.Sentido_Pescado(1);
break;
case 50:
Rojo.Sentido_Pescado(2);
Verde.Sentido_Pescado(2);
break;
case 51:
Amarillo.Color_Pescado2();
Cyan.Color_Pescado2();
break;
}
}
Rojo.Mover_Pescado();
Rojo.Dibujar_Pescado1();
Verde.Mover_Pescado();
Verde.Dibujar_Pescado1();
Amarillo.Mover_Pescado();
Amarillo.Dibujar_Pescado2();
Cyan.Mover_Pescado();
Cyan.Dibujar_Pescado2();
}
return 0;
}
_,
_/{_
.' './´>
/ e (( =<
'.,__,.'\_>
\)
array_b[0][0]=32;array_b[0][1]=32;array_b[0][2]=32;array_b[0][3]=32;array_b[0][4]=32;array_b[0][5]=32;array_b[0][6]=95;array_b[0][7]=44;array_b[0][8]=13;array_b[0][9]=10;array_b[0][10]=32;array_b[0][11]=32;
array_b[1][0]=32;array_b[1][1]=32;array_b[1][2]=95;array_b[1][3]=47;array_b[1][4]=123;array_b[1][5]=95;array_b[1][6]=32;array_b[1][7]=32;array_b[1][8]=13;array_b[1][9]=10;array_b[1][10]=32;array_b[1][11]=46;
array_b[2][0]=96;array_b[2][1]=32;array_b[2][2]=32;array_b[2][3]=32;array_b[2][4]=32;array_b[2][5]=96;array_b[2][6]=46;array_b[2][7]=47;array_b[2][8]=39;array_b[2][9]=62;array_b[2][10]=32;array_b[2][11]=32;
array_b[3][0]=32;array_b[3][1]=13;array_b[3][2]=10;array_b[3][3]=47;array_b[3][4]=32;array_b[3][5]=101;array_b[3][6]=32;array_b[3][7]=40;array_b[3][8]=40;array_b[3][9]=32;array_b[3][10]=32;array_b[3][11]=32;
array_b[4][0]=61;array_b[4][1]=60;array_b[4][2]=32;array_b[4][3]=13;array_b[4][4]=10;array_b[4][5]=32;array_b[4][6]=96;array_b[4][7]=46;array_b[4][8]=44;array_b[4][9]=95;array_b[4][10]=95;array_b[4][11]=44;
array_b[5][0]=46;array_b[5][1]=39;array_b[5][2]=92;array_b[5][3]=95;array_b[5][4]=62;array_b[5][5]=32;array_b[5][6]=32;array_b[5][7]=13;array_b[5][8]=10;array_b[5][9]=32;array_b[5][10]=32;array_b[5][11]=32;
array_b[6][0]=32;array_b[6][1]=32;array_b[6][2]=32;array_b[6][3]=92;array_b[6][4]=41;array_b[6][5]=32;array_b[6][6]=32;array_b[6][7]=32;array_b[6][8]=32;array_b[6][9]=32;array_b[6][10]=32;array_b[6][11]=32;
array_b[7][0]=32;array_b[7][1]=32;array_b[7][2]=32;array_b[7][3]=32;array_b[7][4]=32;array_b[7][5]=32;array_b[7][6]=32;array_b[7][7]=32;array_b[7][8]=32;array_b[7][9]=32;array_b[7][10]=32;array_b[7][11]=32;
void Pescado1::Dibujar_Pescado1(){
Pescado1::Borrar_Pescado1();
Pescado1::Cuerpo_Pescado1();
for(int i=0; i<8; i++){
for(int j=0; j<12; j++){
putchxy(pos_x+j,pos_y+i,array_b[i][j]);
}
}
}
void Pescado1::Borrar_Pescado1(){
for(int k=0;k<8;k++){
for(int p=0;p<12;p++){
putchxy(prev_x+p,prev_y+k,' ');
}
}
}
arch.read(sopa, sizeof(sopa));
arch.read(sopa, 20*20*sizeof(char));
arch.read((char *)sopa, sizeof(sopa));
arch.read((char *)sopa, 20*20*sizeof(char));
arch.open("sopa saved.dat", ios::binary | ios::out);
arch.write((char *)sopa, 20*20*sizeof(char));
arch.write((char *)found, 5*4*sizeof(int));
arch.write((char *)lista, 5*21*sizeof(char));
arch.write((char *)palabras_found,sizeof(int));
arch.close();
#include <iostream>
#include <fstream>
#include <string.h>
#include <stdio.h>
#include <conio2.h>
#include <ctime>
#include <stdlib.h>
#include <windows.h>
#include <ctype.h>
using namespace std;
void imprimir_sopa(char x[20][20]);
void imprimir_indices();
void imprimir_encontradas(int x[5][4], char y[5][21]);
void marcar_palabra(int x[5][4], char y[5][21]);
void victoria(char w[20][20], int x[5][4], char y[5][21]);
int main(int argc, char *argv[]) {
int cont=0;
char c;
int lista_found=0;
char lista[5][21];
bool s;
char sopa[20][20]; //declaración e inicialización los elementos de la sopa con '?'
int sopa_found=0, posx, posy, dir1, registro[5][3]; //contador de palabras encontradas, posiciones X e Y de las iniciales, dir1=hor/ver/diag,
bool t; //registro de TODAS las palabras de la lista
char alphabet[27]={"ABCDEFGHIJKLMNOPQRSTUVWXYZ"};
int found[5][4]; //declaración e inicialización del registro de las palabras que son encontradas (posx, posy, dir1, strlen)
int d, dir2, palabras_found=0;
int posx2, posy2;
char g;
while(g!='3'){
textcolor(LIGHTRED);
cout<<"BIENVENIDO A LA SOPA DE LETRAS"<<endl<<endl;
textcolor(WHITE);
cout<<"Elija una opci\242n"<<endl<<endl;
cout<<"1) Partida nueva"<<endl;
cout<<"2) Continuar con la \243ltima partida guardada"<<endl;
cout<<"3) Salir"<<endl<<endl;
g=getch();
if(g=='1'){
ifstream entrada("listado de palabras.txt", ios::in);
while (entrada.good()){ //leer cantidad de veces que aparece '\n' en el txt
c = entrada.get();
if (c=='\n')cont++;
}
entrada.close(); //si se accede manualmente al archivo .txt se debe ingresar la última palabra de la lista acompañado de \n.
//caso contrario el código detectará una palabra de menos
char** q=new char*[cont];
for(int f=0; f<cont; f++){
q[f]=new char[21];
}
entrada.open("listado de palabras.txt", ios::in);
for(int g=0; g<cont; g++){
entrada.getline(q[g], 20);
strupr(q[g]);
}
entrada.close();
srand(time(NULL));
while(lista_found<5){ //asignación de las palabras aleatorias (5)
s=true;
int a=rand()%cont;
for(int j=0; j<5; j++){
if(strcmp(q[a],lista[j])==0){
s=false;
break;
}
}
if(s==true){
strcpy(lista[lista_found],q[a]);
lista_found++;
}
Sleep(1000);
}
for(int r=0; r<cont; r++){
delete[] q[r];
}
delete[] q;
for(int k=0; k<20; k++){
for(int l=0; l<20; l++){
sopa[k][l]='?';
}
}
while(sopa_found<5){ //inserción de palabras
posx=rand()%20;
posy=rand()%20;
dir1=rand()%3+1;
if(dir1==1){ //horizontal
if(posy+strlen(lista[sopa_found])<=20){
t=true;
for(int m=posy; m<posy+strlen(lista[sopa_found]); m++){
if(sopa[posx][m]!='?'){
t=false;
break;
}
}
if(t==true){
registro[sopa_found][0]=posy+1;
registro[sopa_found][1]=posx+1;
registro[sopa_found][2]=dir1;
for(int n=0; n<strlen(lista[sopa_found]); n++){
sopa[posx][posy]=lista[sopa_found][n];
posy++;
}
sopa_found++;
}
}
}
if(dir1==2){ //vertical
if(posx+strlen(lista[sopa_found])<=20){
t=true;
for(int o=posx; o<posx+strlen(lista[sopa_found]); o++){
if(sopa
[posy]!='?'){
t=false;
break;
}
}
if(t==true){
registro[sopa_found][0]=posy+1;
registro[sopa_found][1]=posx+1;
registro[sopa_found][2]=dir1;
for(int p=0; p<strlen(lista[sopa_found]); p++){
sopa[posx][posy]=lista[sopa_found][p];
posx++;
}
sopa_found++;
}
}
}
if(dir1==3){ //diagonal
if(posx+strlen(lista[sopa_found])<=20&&posy+strlen(lista[sopa_found])<=20){
t=true;
for(int q=posx, r=posy; q<posx+strlen(lista[sopa_found]); q++, r++){
if(sopa[q][r]!='?'){
t=false;
break;
}
}
if(t==true){
registro[sopa_found][0]=posy+1;
registro[sopa_found][1]=posx+1;
registro[sopa_found][2]=dir1;
for(int s=posx, t=posy, u=0; s<posx+strlen(lista[sopa_found]); s++, t++, u++){
sopa[t]=lista[sopa_found];
}
sopa_found++;
}
}
}
}
for(int v=0; v<20; v++){ //relleno de los elementos restantes
for(int w=0; w<20; w++){
if(sopa[v][w]=='?'){
int a=rand()%26;
sopa[v][w] = alphabet[a];
}
}
}
for(int x=0; x<5; x++){
for(int y=0; y<4; y++){
if(y!=3)found
[y]=100;
else found
[y]=strlen(lista
);
}
}
}
if(g=='1'||g=='2'){
fstream arch;
if(g=='2'){
arch.open("sopa saved.dat", ios::binary);
arch.read(sopa[0], 20*20*sizeof(sopa));
arch.read((char *)found[0], 5*4*sizeof(found));
arch.read(lista[0], 5*21*sizeof(lista));
arch.read((char *)palabras_found,sizeof(palabras_found));
arch.close();
}
clrscr();
while(palabras_found<5){
int w;
clrscr();
textcolor(LIGHTRED);
gotoxy(6,1);
cout<<"BIENVENIDO A LA SOPA DE LETRAS"<<endl<<endl;
imprimir_sopa(sopa);
imprimir_indices();
imprimir_encontradas(found, lista);
marcar_palabra(found, lista);
gotoxy(1,26);
cout<<"Tienes que encontrar las siguientes palabras:"<<endl<<endl;
for(int i=0; i<5; i++){
cout<<i+1<<" - ";
puts(lista);
}
cout<<"\n(Nota: Las dimensiones de la sopa son 20x20)"<<endl<<endl;
cout<<"Buscar palabra No.: ";
textcolor(YELLOW);
cout<<"(Save
Exit [6]) ";
textcolor(WHITE);
cin>>d;
if(d==0){
arch.open("sopa saved.dat", ios::binary);
arch.write(sopa[0], 20*20*sizeof(sopa));
arch.write((char *)found[0], 5*4*sizeof(found));
arch.write(lista[0], 5*21*sizeof(lista));
arch.write((char *)palabras_found,sizeof(palabras_found));
arch.close();
gotoxy(1,36);
textcolor(LIGHTMAGENTA);
cout<<"(Partida guardada) ";
//textcolor(WHITE);
Sleep(2000);
clrscr();
}
if(d!=0){
if(d==6){
clrscr();
break;
}
else{
cout<<endl;
cout<<"Coordenada 'X' de la inicial: ";
cin>>posx2;;
cout<<"Coordenada 'Y' de la inicial: ";
cin>>posy2;
cout<<"Horizontal [1] Vertical [2] Diagonal [3] ? ";
cin>>dir2;
w=d-1;
if(posx2==registro[w][0]&&posy2==registro[w][1]&&dir2==registro[w][2]){
textcolor(LIGHTGREEN);
cout<<"\nExcelente! La has adivinado";
for(int i=0; i<3; i++){
found[w]=registro[w];
}
Sleep(2000);
marcar_palabra(found, lista);
palabras_found++;
textcolor(WHITE);
}
else {
textcolor(LIGHTRED);
cout<<"\nIncorrecto... Intenta otra vez!";
Sleep(2000);
textcolor(WHITE);
}
}
}
}
if(palabras_found==4) victoria(sopa, found, lista);
}
}
clrscr();
cout<<"FIN";
return 0;
}
void imprimir_sopa(char x[20][20]){
textcolor(WHITE);
for(int i=0; i<20; i++){
for(int j=0; j<20; j++){
cout<<" ";
cout<<x[j];
if(j==19) cout<<endl;
}
}
}
void imprimir_indices(){
textcolor(YELLOW);
gotoxy(2,24); //eje X
for(int i=0; i<20; i++){
cout<<i+1;
if(i<9) cout<<" ";
}
gotoxy(43,3); //eje Y (puede omitirse)
int h=0;
for(int j=0; j<20; j++){
gotoxy(43,3+h);
cout<<j+1;
cout<<endl;
h++;
}
textcolor(WHITE);
}
void imprimir_encontradas(int x[5][4], char y[5][21]){
textcolor(LIGHTMAGENTA);
for(int i=0; i<5; i++){
if(x
!=100){
gotoxy((x
)*2,x[1]+2);
if(x[2]==1){ //horizontal
for(int t=0; t<x[3]; t++){
cout<<y[t];
cout<<" ";
}
}
if(x[2]==2){ //vertical
int h=1;
for(int t=0; t<x[3]; t++){
cout<<y[t];
gotoxy((x
)*2,x[1]+2+h);
h++;
}
}
if(x[2]==3){ //diagonal
int h=1, k=2;
for(int t=0; t<x[3]; t++){
cout<<y[t];
gotoxy((x
)*2+k,x[1]+2+h);
h++; k+=2;
}
}
}
}
textcolor(WHITE);
}
void marcar_palabra(int x[5][4], char y[5][21]){
textcolor(LIGHTMAGENTA);
for(int i=0; i<5; i++){
if(x
!=100){
gotoxy(6+x[3],28+i);
cout<<"X";
}
}
textcolor(WHITE);
}
void victoria(char w[20][20], int x[5][4], char y[5][21]){
clrscr();
gotoxy(6,1);
textcolor(LIGHTRED);
cout<<"BIENVENIDO A LA SOPA DE LETRAS"<<endl<<endl;
imprimir_sopa(w);
imprimir_encontradas(x, y);
gotoxy(3,24);
textcolor(LIGHTGREEN);
cout<<"Felicitaciones! Has adivinado todas!"<<endl;
textcolor(WHITE);
}
#include <iostream>
#include <string.h>
#include <stdio.h>
using namespace std;
int main(int argc, char *argv[]) {
int c, palabras=0, ac=0;
char pal[13], menor[13]="zzzzz";
char *p;
cout<<"Cantidad de palabras a ingresar: ";
cin>>c;
cout<<"(Recuerde que solo pueden contener hasta 12 caracteres) "<<endl<<endl;
p=new char[c*13];
for(int i=0; i<c*13; i++){
p[i]=' ';
}
cin.ignore();
while(palabras<c){
cin.getline(pal, 12);
strlwr(pal); // pasa pal a minusculas para luego comparar con 'mar'
strcpy(&p[ac], pal);
ac+=strlen(pal)+1;
palabras++;
if(strcmp(menor,pal)>0){
strcpy(menor,pal);
}
}
/* //comprobación del vector
for(int i=0; i<c*13; i++){
cout<<p[i];
}
cout<<endl;
*/
cout<<"\nLa palabra que aparece primero segun orden alfabetico es: ";
puts(menor);
cout<<endl<<endl;
cout<<"Los elementos de las posiciones pares son: "<<endl<<endl;
for(int j=2; j<c*13; j+=2){
puts(&p[j]); // si se utiliza 'cout' los resultados son distintos (debido a que las palabras se insertan en un único vector)
}
cout<<"Las palabras que contienen la cadena 'mar' son: "<<endl<<endl;
for(int k=0; k<c*13; k++){
if(strncmp(&p[k],"mar", 3)==0)
puts(&p[k]); // muestras todas las veces que aparece 'mar' (debido a que las palabras se insertan en un único vector)
}
delete p;
return 0;
}
#include <iostream>
#include <string.h>
#include <stdio.h>
using namespace std;
int main(int argc, char *argv[]) {
int c, pal=0;
char menor[13]="zzzzz";
cout<<"Cantidad de palabras a ingresar: ";
cin>>c;
cout<<"(Recuerde que solo pueden contener hasta 12 caracteres) "<<endl<<endl;
char** p=new char*[c];
for(int h=0; h<c; h++){
p[h]=new char[13];
}
/*
for(int i=0; i<c; i++){
for(int j=0; j<13; j++){
p[i][j]=' ';
}
}
*/
cin.ignore();
while(pal<c){
cin.getline(p[pal], 12);
strlwr(p[pal]); // pasa pal a minusculas para luego comparar con 'mar'
pal++;
if(strcmp(menor,p[pal])>0){
strcpy(menor,p[pal]);
}
}
/* //comprobación del vector
for(int i=0; i<c*13; i++){
cout<<p[i];
}
cout<<endl;
*/
cout<<"\nLa palabra que aparece primero segun orden alfabetico es: ";
puts(menor);
cout<<endl<<endl;
cout<<"Los elementos de las posiciones pares son: "<<endl<<endl;
for(int j=0; j<c; j+=2){
puts(p[j]); // si se utiliza 'cout' los resultados son distintos (debido a que las palabras se insertan en un único vector)
}
cout<<"\nLas palabras que contienen la cadena 'mar' son: "<<endl<<endl;
for(int k=0; k<c; k++){
if(strncmp(p[k],"mar", 3)==0)
puts(p[k]); // muestras todas las veces que aparece 'mar' (debido a que las palabras se insertan en un único vector)
}
for(int l=0; l<c; l++){
delete[] p[l];
}
delete[] p;
return 0;
}
while(palabras<c+1){
cin.getline(pal, 13);
strcpy(&p[ac], pal);
ac+=strlen(pal)+1;
palabras++;
if(strcmp(menor,pal)>0){
strcpy(menor,pal);
}
}
#include <iostream>
#include <string.h>
#include <stdio.h>
using namespace std;
int main(int argc, char *argv[]) {
int c, palabras=0, ac=0;
char pal[13], menor[13]="zzzzz";
char *p;
cout<<"Cantidad de palabras a ingresar: ";
cin>>c;
cout<<"(Recuerde que solo pueden contener hasta 12 caracteres) "<<endl<<endl;
p=new char[c*13];
for(int i=0; i<c*13; i++){
p[i]=' ';
}
while(palabras<c+1){
cin.getline(pal, 13);
strcpy(&p[ac], pal);
ac+=strlen(pal)+1;
palabras++;
if(strcmp(menor,pal)>0){
strcpy(menor,pal);
}
}
for(int i=0; i<c*13; i++){
cout<<p[i];
}
puts(menor);
return 0;
}