Menú

Mostrar Mensajes

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ú

Mensajes - SoyelRobert

#11
el truco esta en tener en cuenta que el operador /  toma el cociente de la division (parte entera)  y el % toma el resto.

con esto y lo que te han dicho arriba... lo tienes hecho :)
#12
mira a ver que tal esto:

Código (cpp) [Seleccionar]

#include <stdio.h>
main (void)

{
  struct equipo{
         int victorias; //Cuantas victorias tiene.
         int derrotas; //Posicion en la liga.
         int empates; //Empates dentro de la liga.
  }equipo1,equipo2;

otravez:

     printf("----Equipo Numero 1----\n");

     printf("\n Victorias totales: "); //VICTORIAS
     scanf("%d",&equipo1.victorias);

     printf("\n Derrotas totales: "); //DERROTAS
     scanf("%d",&equipo1.derrotas);

     printf("\n Empates totales: "); //EMPATES
     scanf("%d",&equipo1.empates);
     printf("\n");


     printf("----Equipo Numero 2----\n");

     printf("\n Victorias totales: "); //VICTORIAS
     scanf("%d",&equipo2.victorias);

     printf("\n Derrotas totales: "); //DERROTAS
     scanf("%d",&equipo2.derrotas);

     printf("\n Empates totales: "); //EMPATES
     scanf("%d",&equipo2.empates);
     printf("\n");


     /*ahora comparamos los equipos*/

int cont1=0, cont2=0;

if(equipo1.victorias>equipo2.victorias) cont1 ++;
else cont2 ++;

if(equipo1.empates>equipo2.empates) cont1 ++;
else cont2 ++;

if(equipo1.derrotas<equipo2.derrotas) cont1 ++;
else cont2 ++;

printf("El equipo1 ha acumulado: %d puntos mientras que el equipo2: %d, por tanto: ",cont1,cont2);

if(cont1>cont2)puts("el equipo1 es mejor que  el equipo2.");
if(cont1<cont2)puts("el equipo2 es mejor que el equipo1.");
if(cont1==cont2)puts("son igual de buenos ambos equipos.");

cont1=0;

puts("\n\n Desea comparar otros equipos diferentes (1 = si / 0 = no)? ");
scanf("%d",&cont1);

if(cont1==1) goto otravez;

return 0;

}


PD. lo siento por no indentarlo pero no soy capaz de ello  :rolleyes: :rolleyes: :rolleyes: :rolleyes: :rolleyes: :rolleyes:
#13
mm a ver, no entiendo exactamente lo que quieres hacer:

el programa en si lo que hace es comparar 2 equipos con la misma estructura, correcto?.

si este es el caso, no tiene sentido un array de 14 componentes para almacenar los equipos... con 2 te vale y pones una opcion para sobrescribir los campos de las estructuras en caso de querer comparar otros equipos diferentes.

Si por el contrario lo que quieres es comparar mas de 2 equipos, pongamos N equipos, seria necesario un array de N componentes donde guardar cada equipo de tipo structura y cuyos campos tendrias que ir introduciendolos tu para cada equipo con el fin de poder compararlos entre ellos.

Personalmente me parece mucho mas facil de hacerlo de la primera forma si puedes elegir.

#14
jajaja me vas a persiguir hasta que indecte bien el codigo ehhh jajaj

nah enserio, muchas gracias  :silbar:
#15
el problema que yo le veo al codigo de leosansan es que el problema pide explicitamente que las palabras a buscar anagramas sean introducidas por fichero o teclado... podría solucionarse así?

Código (cpp) [Seleccionar]

#include <stdio.h>

    struct Palabras{
    char letras[10]; //letras de cada palabra, maximo 10 letras
    };
    struct Palabras Tpalabras[6]; //vector con informacion de todas las palabras, maximo 6.

    void main(void){

    int ch, i, j;

    puts("introduzca sus palabras a buscar separadas por espacios y un punto en la ultima para indicar que se han acabado: ");

    for(i=0;i<6;i++){
        for(j=0;j<10;j++){
            if(ch=getchar() != '.') break;
            else{
                if(ch=getchar()!= ' ')Tpalabras[i].letras[j]=getchar();
                else continue;
            }
        }
    }

.
.
.
.
.




Es solo una idea, usar estructuras para guardar todas las palabras y usar un par de fors para ir guardando cada letra en una casilla de un array para despues comprobar si las palabras del texto pueden ser una permutación de dichas letras.  :huh: :huh: :huh:

es lo unico que se me ha ocurrido
#16
solucionado, ha sido por poner Main con mayuscula.  :-X :-X :-X :-X
#17
Hola buenas, estaba intentado hacer el siguiente programa:



Bien, este es el código:

Código (cpp) [Seleccionar]


#include <stdio.h>

#define N 3
#define M 4

void cogollo (int m1[][M], int m2[][M]);

int Main(){

int m1[N][M], m2[N][M];
int i,j;
int cont=0;

puts("introducir componentes por fila de la primera matriz:\n");

for(i=0;i<N;i++){
   for(j=0;j<M;j++)
   scanf("%d", &m1[i][j]);
}

puts("\nahora introduzca las componentes de la segunda matriz\n");

for(i=0;i<N;i++){
   for(j=0;j<M;j++)
   scanf("%d", &m2[i][j]);
}
cogollo(m1, m2);

return 0;
}

void cogollo (int m1[][M], int m2[][M]){

int p, q, cont=0;
int V[N];
for(p=0;p<M;p++){
   for(q=0;q<N;q++){
       if(m1[p][q]==m2[p][q]) cont++;
   }
   if(cont==M) V[q]=1;
       else V[q]=0;
       cont=0;
}
puts("el vector resultante es:\n");

for(p=0;p<N;p++){
       printf("%2d", V[p]);
       if(V[p]==1) cont++;
}
if(cont==N) puts("\nel vector tiene todas las componentes iguales, por tanto, todas las filas de la matriz 1 coinciden con las de la matriz 2");
else puts("el vector no tiene todas las componentes iguales");

}


Al compilarlo da un error con la descripción del título.

He estado googleando y me he topado con cosas como:
http://foro.elhacker.net/programacion_cc/saludo_de_nuevo_usuario_y_preguntita_facil_sobre_devc-t79550.0.html;msg366634

pero yo no uno c++ y no he tocado nada en el compilador...

decir que solo me pasa al compilar este codigo.

#18
Cita de: amchacon en  3 Enero 2014, 19:55 PM

Eso en un editor de código es seleccionar las líneas y apretar TAB. O bien usar el plugin que indenta el código automaticamente (en el Codeblocks se llama "Source code formatter (AStyle)").

Estás prácticas son prácticamente obligadas para cualquier progamador, de hecho algunos lenguajes (como el python) no tienen llaves y se identifican los bloques con la indentación.

gracias  :)
#19
Cita de: leosansan en  3 Enero 2014, 18:28 PM
En todo caso hasta que se acabe la cadena o frase, es decir hasta \0. Lo otro sería para ficheros, que no es el caso, supongo.

sip jaja exactante, queria hacerlo para sentencias para la entrada estandar y para textos en caso de tratarse de ficheros:

Código (cpp) [Seleccionar]

#include <stdio.h>

int esVocal (char c);
char sigVocal (char c);

int main ()
{
char c;
FILE *fe;
FILE *fs;

fe= fopen("C:\entrada.txt", "r");
fs= fopen("C:\salida.txt", "a");

if(fe == NULL) puts("error en apertura de fichero");
else {
    while (fscanf(fe,"%c", &c) != EOF)
        if (esVocal(c))
            fprintf(fs,"%c", sigVocal(c));
        else
            fprintf(fs,"%c", c);

}
   return 0;
}
int esVocal (char c){


if(c=='a'||c=='e'||c=='i'||c=='o'||c=='u') return 1;
else return 0;

}
char sigVocal (char c){

switch(c){
case 'a': c='e'; break;
case 'e': c='i'; break;
case 'i': c='o'; break;
case 'o': c='u'; break;
case 'u': c='a'; break;
}
return (c);
}


::)
#20
Cita de: joanj94 en  3 Enero 2014, 17:35 PM
Bueno yo no se meter los colores, pero lo tabulo jajaja

PD: Un consejo los break, goto, y uso de librerias estilo conio.h evitalos si no son requeridos, lo digo porque si es un ejercicio de universidad o lo que sea, muchas veces te pueden penalizar por eso ;) (ademas de garantizar asi una maxima compatibilidad en todos los OS)

exactamente, de hecho todos mis examenes empiezan asi:



sin embargo por breaks y goto no me penalizan.