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 - leosansan

#901
Cita de: SARGE553413 en 15 Abril 2013, 18:50 PM
Hola a todos.

...............................................

PD. Lo hago con calloc en lugar de new para poder usar realloc.


No sé bien por qué te complicas la vida con calloc y realloc si la ventaja de trabajar con new es que usas el heap, más o menos la memoria del ordenador y puedes dimensionar a valores de 1 000 000 o más altos. Es aprovechar la ventaja de trabajar en C++.

Saluditos!. ....
#902
Cita de: sora_ori en 15 Abril 2013, 10:25 AM
Muy bueas, estoy haciendo un programa en C con estás características. Échenle un vistazo los más entendidos en C para ver que se puede corregir.



• pida dos números por teclado
• Si los dos son pares, escribirá la suma
Si los dos son impares, y diferentes, escribirá el resto del primero respecto al segundo
• Si alguno de ellos es mayor de 10, escribirá el valor del mayor
• Si ambos son mayores de 20 escribirá el valor del menor

...............................................
   
    if ((num1 % 2 == 0) & (num2 % 2 == 0)){
              printf("\nEl numero es par");
              suma = num1 + num2;
              printf("\nLa suma de los dos numeros pares es: %d",suma);
    }

    else{ /*<=====AQUI ESTA EL ERROR*/
         printf ("\nNo es par");
         resta = num1 - num2;
         printf("\nLa resta de los dos numeros impares es: %d",resta);
    }
   
   ...................................
   

El error lo cometes al considerar que si no son pares "los dos" son impares los dos, cuando podría ser uno impar y el otro par.

Es decir, ese "else" tienes que cambiarlo por un if que indique que ambos son impares.

Saluditos!. ....
#903
Sorry se colo de otro post.  >:D
#904
Cita de: eLPortaFrases en 14 Abril 2013, 01:15 AM
.......................................................... ..
pero no se porque no me corren en mi programa ... solo me corre el primer ejercicio de OxDani .. pero el segundo de OxDani no me corre ni el primero de Leosansan ..


¿¿¿¿¿:::????????

¿ Seguro que introduces los meses en mayúsculas?. Porque a mí me furula perfectamente, una muestra:

Código (cpp) [Seleccionar]

DIGITE EL NUMERO DEL MES: 9
SEPTIEMBRE

NOMBRE DEL MES: ENERo

NUMERO DE MES NO VALIDO


NOMBRE DEL MES: 11

NUMERO DE MES NO VALIDO


NOMBRE DEL MES: ENERO
1
DIGITE EL NUMERO DEL MES: 12
DICIEMBRE

NOMBRE DEL MES: FEBRERO
2
DIGITE EL NUMERO DEL MES: 5
MAYO

NOMBRE DEL MES: MARZO
3
DIGITE EL NUMERO DEL MES: 15

DIGITE EL NUMERO DEL MES: 8
AGOSTO

NOMBRE DEL MES: adsfgadfga

DIGITE EL NUMERO DEL MES: ABRIL
DICIEMBRE

NOMBRE DEL MES: 4


Cita de: rir3760 en 14 Abril 2013, 03:35 AM

También se debería limitar el numero de caracteres a almacenar en el array modificando la llamada a scanf:
scanf("%10s",aux);


También convendría ene ese caso hacer una limpieza posterior del buffer, supuesta una entrada errónea de más allá de diez caracteres.

Lo de Septiembre parece que me persigue, tengo que aprender a sumar, es decir a prestar más atención a lo que escribo. Thanks!.

Saluditos!. ....
#905
Ejemplo más claro difícil de encontrar:

http://es.wikipedia.org/wiki/Quicksort


Saluditos!. ...
#906
Cita de: Black Master en 13 Abril 2013, 18:44 PM
Hola, estoy intentando programar el motor de colisiones. El problema viene cuando tengo 2 cubos (A y B) y cuando se supone que chochan es cuando alguno de los 4 vertices inferiores de A choca con el plano superior de B. Como calculo colision Punto-Plano?


Una forma es hallar la ecuación del plano superior del cubo B, con tres vértices es suficiente. Se producirá colisión cuando al sustituir los vértices inferiores de A en dicha ecuación alguno la cumplan.

Tiene el inconveniente que se supone un movimiento "continuo", cosa que supongo no será así sino en incrementos determinados. En este caso la colisión se producirá si la ZveticesA > (o <, según el sistema de referencia) ZecuaciónDelplano.

Pero mejor pones una imagen de como están los cubos, en especial el B, ya que si está horizontal bastará con comparar las ZvérticesA con la ZplanosuperiorB.

Saluditos. ...
#907
Cita de: eLPortaFrases en 13 Abril 2013, 12:04 PM
Resulta que tengo que hacer dos ejercicios ... uno de convertir de Numero a Mes ..


Aunque funciona bien el swtich, prefiero los arrays. Manias:


Código (cpp) [Seleccionar]

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main()
{
   int i,j=0;
   char aux[10],mes[12][11]={"ENERO","FEBRERO","MARZO","ABRIL","MAYO","JUNIO","JULIO","AGOSTO","SEPTIEMBRE","OCTUBRE","NOVIEMBRE","DICIEMBRE"};
   do{
       printf ("\n\nDIGITE EL NUMERO DEL MES: ");
       scanf ("%d",&i);
       }while(i-1<0 || i-1>11);
   printf("%s  ",mes[i-1]);
   do{
       printf ("\n\n NOMBRE DEL MES: ");
       scanf ("%s",&aux);
       for (i=0;i<12;i++){
           if (strcmp (aux,mes[i])==0){
               printf("%d  ",i+1);
               j++;
               break;
           }
       }
   if (j==0)
       puts("\nNUMERO DE MES NO VALIDO" );
   }while(j==0);
   return EXIT_SUCCESS;
}


Saluditos!. ....

P.D: Se me ha adelantado 0xDani, aunque tiene que revisar la condición del while.

REEDITADO
#908
Para invocar o llamar a una función no se declara el tipo de ella ni de sus argumentos:

Código (cpp) [Seleccionar]
demostracion();

Saluditos!. ....
#909
Cita de: samirllorente en 12 Abril 2013, 17:39 PM
Ayuda con este código, simplemente se me repite los números al azar, y eso es loq no quiero


Por lo que entiendo pretendes repartir 15 clases. de la 301 a la 315, de forma aleatoria entre el prefesorado y según materias, de forma que no se repitan las clases asignadas, vamos algo como esto:

Código (cpp) [Seleccionar]

Ingrese profesor No 1: 1
Ingrese materia #1 del profesor 1: 11
Ingrese materia #2 del profesor 1: 12
Ingrese materia #3 del profesor 1: 13

Ingrese profesor No 2: 2
Ingrese materia #1 del profesor 2: 21
Ingrese materia #2 del profesor 2: 22
Ingrese materia #3 del profesor 2: 23

Ingrese profesor No 3: 3
Ingrese materia #1 del profesor 3: 31
Ingrese materia #2 del profesor 3: 32
Ingrese materia #3 del profesor 3: 33

Ingrese profesor No 4: 4
Ingrese materia #1 del profesor 4: 41
Ingrese materia #2 del profesor 4: 42
Ingrese materia #3 del profesor 4: 43

Ingrese profesor No 5: 5
Ingrese materia #1 del profesor 5: 51
Ingrese materia #2 del profesor 5: 52
Ingrese materia #3 del profesor 5: 53


Maestro Materia Salon

1
        11      315
        12      314
        13      307
2
        21      306
        22      305
        23      308
3
        31      301
        32      312
        33      310
4
        41      302
        42      304
        43      313
5
        51      309
        52      311
        53      303


Otra forma, aunque básicamente es la misma que la sugerida por WHK,  es usar las posibilidades de las librerías algorithm y vector, generando un vector con las clases de la 301 a la 315 y "desordenándolo" para posteriormente elegirlos en "orden", que es desordenado:

Código (cpp) [Seleccionar]
#include <algorithm>
#include <vector>
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;

int main()
{
string profe[5];
string materia[5][3];
int salon[5][3];
int rep;
int i=0,j=0,k=0,l=0,m=0;
srand(time(NULL));

vector<int> myvector;
        for (int i=301; i<=315; ++i) myvector.push_back(i);
        random_shuffle ( myvector.begin(), myvector.end() );



do{j=0;
cout<<"Ingrese profesor No "<<i+1<<": ";
cin>>profe[i];
while(j!=3){
cout<<"Ingrese materia #"<<j+1<<" del profesor "<<profe[i]<<": ";
cin>>materia[i][j];


do{rep=true;
salon[i][j]=myvector[m];
if((i>0)||(j>0)){k=0;l=0;
while((k=!i)&&(l!=j)){
if(salon[i][j]==salon[k][l]){
rep=false;}
if(l==2){l=0;k++;}else{
l++;}}}m++;
}while(rep!=true);

j++;}i++;
}while(i!=5);
i=0;
cout<<"\n\nMaestro\tMateria\tSalon\n";
while(i!=5){j=0;
cout<<endl<<profe[i];
while(j!=3){
cout<<"\n\t"<<materia[i][j]<<"\t"<<salon[i][j];
j++;}i++;}
return 0;
}


Saluditos!. .....
#910
Mete el código d ejecución en un :

Código (cpp) [Seleccionar]

while (1)
{
aqui el código
}


Saluditos y enhorabuena por lo conseguido! .....