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ú

Temas - DickGumshoe

#1
He estado borrando del inicio de Windows todos los programas que estaba seguro que podía quitar. Me han quedado estos, que no sé qué son (excepto el Avast, que lo voy a dejar) y me gustaría saber cuáles de ellos puedo quitar para que Windows se encienda sin problemas.

CitarSi HKCU:Run EPLTarget\P0000000000000002 C:\Windows\system32\spool\DRIVERS\x64\3\E_IATIIME.EXE /EPT "EPLTarget\P0000000000000002" /M "XP-202 203 206 Series"
Si HKLM:Run AvastUI.exe "C:\Program Files\AVAST Software\Avast\AvastUI.exe" /nogui
Si HKLM:Run EEventManager "C:\Program Files (x86)\Epson Software\Event Manager\EEventManager.exe"
Si HKLM:Run HotKeysCmds C:\Windows\system32\hkcmd.exe
Si HKLM:Run IAStorIcon C:\Program Files (x86)\Intel\Intel(R) Rapid Storage Technology\IAStorIcon.exe
Si HKLM:Run IgfxTray C:\Windows\system32\igfxtray.exe
Si HKLM:Run Persistence C:\Windows\system32\igfxpers.exe
Si HKLM:Run PLFSetI C:\Windows\PLFSetI.exe
Si HKLM:Run RtHDVCpl C:\Program Files\Realtek\Audio\HDA\RAVCpl64.exe -s
Si HKLM:Run SynTPEnh %ProgramFiles%\Synaptics\SynTP\SynTPEnh.exe

Hay uno que creo que es del panel táctil del portátil, supongo que no podré quitarlo porque me quedaría sin ratón xD.

Muchas gracias.
#2
PHP / Enlazar web y foro phpBB
6 Febrero 2013, 00:51 AM
¡Hola!

Actualmente tengo un foro en Foroactivo, pero estoy pensando cambiarme a phpBB, ya que así tendré la libertad de añadirle muchas cosas que ahora mismo no puedo. Pero antes de eso, me gustaría consultar unas dudas...:

Si tengo un foro phpBB en un servidor, y quiero que dicho foro posea una web (creada por mí), ¿es posible hacer que un usuario se registre en los dos sitios a la vez de forma automática (una única vez), y no tener que hacerlo dos veces? ¿Y se puede hacer algo para que, si en la web pongo un comentario, automáticamente salga también en el foro en un tema determinado?

Un saludo y muchas gracias.
#3
Hola.

Hace poco instalé Linux Mint en Virtualbox, y me acabo de dar cuenta que al ver vídeos (solo he probado en Internet (YouTube), no ninguno descargado, pero dudo que sea por el mi Internet porque en Windows me va perfecto.

También he notado que se ralentiza un poco cuando arrastro una pestaña de Google Chrome y cosas así...

De los 6GB de RAM que tiene mi portátil, le he dedicado 2GB a Linux Mint en Virtualbox. También le he dado 128MB de memoria de vídeo (el máximo que permite VB), y he probado a habilitar y deshabilitar aceleración 3D, y nada...

Muchas gracias.

Un saludo.
#4
GNU/Linux / Instalar Linux en VirtualBox
27 Septiembre 2012, 17:40 PM
Hola.

He instalado VirtualBox y en este, Linux Mint. Al finalizar la instalación, me dice que para que se guarden los cambios que haga debo reiniciar el sistema. Cuando vuelvo a encender el ordenador, inicio VirtualBox, inicio Linux Mint 13 y tarda mucho en cargar: me vuelve a salir la pantalla de instalación.

¿Estoy iniciando el SO desde donde no es, o ha fallado algo en la instalación?

Muchas gracias.

EDITO: Solucionado  ;D
#5
GNU/Linux / Instalación de Linux
24 Septiembre 2012, 15:40 PM
Hola a todos.

Estoy pensando en instalar alguna distribución de Linux en mi ordenador. Más que nada lo usaré para programar y poco más. Por ahora he pensado en Linux Mint (acepto recomendaciones de otras distribuciones). Ah, y he de aclarar que quiero seguir teniendo Windows 7, es decir, tener los dos SO.

Bueno, la cosa es que tengo miedo de instalarlo... Una vez esté en el proceso de instalación, ¿me saldrá algo para fragmentar el disco duro? Nunca lo he fragmentado, por lo que no tengo ni idea de cómo hacerlo... ¿Existe alguna posibilidad de que en el proceso de fragmentación del HDD o de instalación de Linux pierda Windows 7 o los archivos que contiene? No hay que formatear el disco duro ni que desfragmentarlo, ¿verdad?

Muchas gracias.

Un saludo.
#6
Programación C/C++ / Funciones de E/S en C++
14 Julio 2012, 23:14 PM
Hola.

Estoy pasando de C a C++ porque me llama mucho el tema de la programación orientada a objetos, pero antes tengo que saber lo básico (aunque todo es muy parecido a C).

Me gustaría preguntar algunas cosas:

¿El equivalente a getchar() en C++ es cin.get()?
¿Cuál es el equivalente a putchar() en C++? No lo encuentro...


Y respecto a ficheros:

¿Es correcto usar las funciones incluidas en cstdio para C++? Es decir, fopen(), fclose, fgetc(), fputc(), fgets(), fputs(), fprintf(), fscanf()... Es que he visto que en C++ hay funciones como open, close, get, put, getline, etc., y no sé si es correcto usar las de cstdio, que se supone que son las mismas que las de C.

Muchísimas gracias.

Saludos.

#7
PHP / Localhost
10 Julio 2012, 01:13 AM
¡Hola!

He decidido aprender PHP.

He activado IIS en mi ordenador, pero voy al navegador y pongo: http://localhost/ y no me sale la pantalla que me debe salir, sino que me pone "¡Vaya! Parece que este enlace está roto."

He probado en Internet Explorer, Mozilla Firefox y Google Chrome... Y la carpeta de IIS (C:\inetpub\wwwroot) la tengo...

Uso Windows 7.

Muchas gracias.

Saludos.
#8
Scripting / ¿Qué IDE uso para Python?
7 Julio 2012, 11:57 AM
¡Hola!

Me gustaría aprender a programar en Python, y antes que nada me gustaría saber qué IDE es mejor para ello.

Yo programo en C, y allí la mayoría de los IDE's te señalan errores de sintaxis y eso... ¿Existe algo así en Python?

Saludos, y muchas gracias.
#9
Hola.

Gracias a Avesudra, ayer pude configurar la librería GMP en Codeblocks. Llevo toda la mañana intentando calcular la suma de todos los dígitos del resultado de hacer 21000. Lo que hago es esto:

#include <stdio.h>
#include <gmp.h>

unsigned long int suma=0, i=0;
//Lo pongo como variable global porque si lo meto en main() me dice "Suma dígitos.exe dejó de funcionar. Windows está buscando una solución"

int main()
{

    mpz_t num, resultado, mod; //Variables

    mpz_set_ui(num, 2); //Inicializo num a 2
    mpz_init(resultado); //resultado = 0
    mpz_init(mod); //mod=0

    mpz_pow_ui(resultado, num, 1000); // 2^1000
    gmp_printf("Resultado: %Zd\n\n", resultado); //Imprimo 2^1000, y el resultado es correcto

    while(mpz_cmp_ui(resultado, 0) > 0)
    {//BUCLE INFINITO
        suma += mpz_mod_ui(mod, resultado, 10); //suma = suma + el resto de dividir resultado entre 10
        mpz_set_ui(resultado, mpz_cdiv_ui(resultado, 10)); //Dividimos resultado entre 10
        printf("%d\n", suma); //Además de que el bucle es infinito, he comprobado que la suma la hace mal.

    }


    printf("Suma: %d", suma);

    mpz_clear(resultado); //Liberamos memoria
    mpz_clear(num);
    mpz_clear(mod);

    return 0;
}


21000 lo hace bien, pero se queda en el while(), no sé por qué...

Mi idea era inicializar suma a 0, hallar el resto de dividir 21000 entre 10, y sumárselo, y así hasta que "resultado = 0", puesto que si llega a 0 significa que ya hemos sumado todas sus cifras.

¿Alguien tiene una idea de qué hago mal?

Muchas gracias.

Saludos.

#10
Hola.

Estoy haciendo problemas en los que algunas variables guardan números muy grandes. Por ejemplo, quiero calcular la suma de los dígitos del resultado de hacer 2 ^1000

La función de sumar los dígitos he comprobado que está bien, y la función pow() sé usarla, por lo que he supuesto a que el resultado es incorrecto debido a que trabajo con números muy grandes:


#include <stdio.h>
#include <math.h>

int suma(long long int n)
{
    if(n >= 0 && n < 10) return n;
    else return n%10 + suma(n/10);
}

int main()
{
    long long int num;
    int resultado;

    num = pow(2, 1000);

    resultado = suma(num);
    printf("Resultado: %d", resultado);
    return 0;
}



¿Qué puedo hacer? He visto que a veces recomiendan usar librerías externas, pero prefiero que me lo confirme alguien...

Saludos y muchas gracias.
#11
Hola.

Para entretenerme, estoy haciendo problemas en C de una página de Internet que son como retos.  

Uno de ellos dice así:

CitarThe prime factors of 13195 are 5, 7, 13 and 29.

What is the largest prime factor of the number 600851475143 ?

Sería algo como: "Los factores primos de 13195 son 5, 7, 13 y 29. ¿Cuál es el factor primo más grande de 600851475143 ?"

He intentado esto:


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

int main()
{
   long long int i, resultado;
   long long int MAX = 600851475143;
   int num;

   for( i = 2; i < MAX; i++)
   {
      if(MAX % i == 0)
      {
          MAX /= i;
          i = 2;
       }
   }

   printf("El maximo factor primo de 600851475143 es %d\n\n", MAX );

   system("pause");
   return 0;
}



Pero no me da el resultado correcto  :-\

He hecho varios intentos, pero nada...

Saludos.
#12
Hola.

¿Hay alguien que tenga la 3DS en este foro? Es que no veo muchos comentarios de ella por aquí...

De ser así, ¿tenéis Mario Kart 7, Kid Icarus: Uprising u otro juego para jugar con vosotros partidas online?

Saludos!  :D
#13
Programación C/C++ / Ahorcado con ficheros
2 Julio 2012, 18:14 PM
Hola.

Estoy haciendo el juego del ahorcado.

He creado un fichero "prueba.dat", en el que meto palabras separadas por un espacio. Quiero obtener una palabra aleatoria de entre las que tengo.

Todavía no tengo la parte de obtener la palabra aleatoria, pero eso creo que sé hacerlo. El problema es que quiero meter las palabras antes en una matriz.

El programa compila, pero en un momento determinado (que tengo señalado en el programa) deja de funcionar y dice "Ahorcado.exe dejó de funcionar. Windows está buscando la solución al problema"...


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

int NumeroEspaciosBlancos(FILE *fp);
void CogerPalabras(FILE *fp, int num);

int main(){

FILE *fp;
int num;

fp=fopen("prueba.dat", "r");

   num=NumeroEspaciosBlancos(fp);

   CogerPalabras(fp,num);

   fclose(fp);

system("pause");

}

int NumeroEspaciosBlancos(FILE *fp){

 char c;
 int i=0 ;

 while(feof(fp)==0){

 c=fgetc(fp);

 if(c==' ') i++;

 }
   rewind(fp);
   return i;

}

void CogerPalabras(FILE *fp, int num){ //num es el número de espacios que tiene el fichero

    char **M;
    char c;
    int i=0,j=0;

    M=(char**)malloc((num+1)*sizeof(char*));

    for(j=0;j<num+1;j++){


      M[j]=(char*)malloc(20*sizeof(char));

      j++;


    }


    i=0;
    j=0;

    while((feof(fp)==0) && (c=fgetc(fp))){  //EN ESTE BUCLE DEJA DE FUNCIONAR EL PROGRAMA

    if(c!=' '){
    M[i][j]=c;
    j++;


    }

    if(c==' '){
    i++;
    j=0;
    }

    }

    rewind(fp);
    i=0;
    j=0;

    for(i=0;i<num;i++){

         printf("\n");
    for(j=0;j<20;j++){
    printf("%c", M[i][j]);
    }

    }
}


Gracias.

Saludos.
#14
Hola.

Me gustaría poder instalar nuevas bibliotecas (/librerías) en Codeblocks para poder hacer mejores programas, pero por más que busco en Internet no encuentro nada...

¿Alguien podría decirme cómo se pueden instalar en Codeblocks?

Saludos y muchas gracias.
#15
Hola.

Pronto hará un año que empecé a "programar" en C.

Por ahora he aprendido lo que viene en los libros y manuales de C, pero me estoy dando cuenta que solo sé crear aplicaciones por consola "no útiles" (solo tienen la finalidad de aprender a programar, supongo).

¿Qué debo empezar a aprender para hacer cosas "útiles" en C?

Gracias!

Saludos.
#16
Hola.

Tengo un ejercicio que dice:

Implemente una función recursiva (y todo lo necesario para que el programa funcione) que calcule, dado un vector de enteros y un umbral, la suma de todos los elementos del vector que son mayores que el umbral. La cabecera de la función recursiva debe ser la siguiente:

void SumaUmbral(int *v, int tam, int umbral, int *suma);

El vector debe ser creado con memoria dinámica y pedido al usuario por la consola. La variable suma se pasa por referencia. La variable tam contiene el tamaño del vector.


El problema que tengo es que yo siempre he pensado que las funciones recursivas deben devolver algo... ¿Cómo va a ser void?

Saludos, y muchas gracias.
#17
EDITO: Ya lo he solucionado.
#18
Hola.

Estoy intentando leer las n últimas líneas de un fichero, para, posteriormente, almacenarlas en otro.

Por ejemplo, si mi fichero tiene:

hola
adiós
duda
ficheros
punteros
estructuras


y meto el número 3 por consola, después de introducir el nombre del fichero, me debería leer:

Citarficheros
punteros
estructuras

Y, sin embargo, me lee:

os
punteros
estructuras


Mi código es:

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

typedef struct{

int *V;
int lineas;

}Estructura;

char* InicializarCadena();
Estructura Contar(FILE *fp);
void Almacenar(FILE *fp1,FILE *fp2,Estructura aux,int n);

int main (){

FILE *fp1;
FILE *fp2;

int n;

char *fich,c;

Estructura aux;

printf("Introduzca el nombre del fichero: ");

fich=InicializarCadena();


printf("Introduce un numero: ");
scanf("%d", &n);

    fp1=fopen(fich, "r");
    fp2=fopen("Trabajo.txt", "w");


    if(fp1==NULL){
    printf("ERROR");
    system("pause");
    exit(1);
    }

    aux=Contar(fp1);


    Almacenar(fp1,fp2,aux,n);

free(aux.V);
free(fich);
fclose(fp1);
fclose(fp2);

system("pause");
}


char* InicializarCadena(){
   int i = 0;
   char c, *cad;

   cad = (char*) malloc(sizeof(char));

   while((c = getchar())!= '\n'){
      cad[i] = c;
      i++;
      cad = (char*)realloc(cad, (i + 1)*sizeof(char));
   }
   cad[i] = '\0';

   return cad;
}

Estructura Contar(FILE *fp){

int i=0;

Estructura aux;

char c;

aux.lineas=0;

aux.V=(int*) malloc(sizeof(int));

while(feof(fp)==0){

c=fgetc(fp);
i++;

if(c=='\n'){
aux.V=(int*) realloc(aux.V,(aux.lineas+1)*sizeof(int));
aux.V[aux.lineas]=i;

aux.lineas++;
}
}
aux.lineas++;
return(aux);
}

void Almacenar(FILE *fp1,FILE *fp2,Estructura aux,int n){

char c;

fseek(fp1,aux.V[aux.lineas-n],SEEK_SET);



while(feof(fp1)==0){

c = fgetc(fp1);
fputc(c,fp2);
printf("%c", c);

}

}


¿Qué hago mal?

Muchas gracias.

Saludos.
#19
Hola.

Me gustaría aprender a crear videojuegos en C.

Por más que busco en Internet, sólo me sale cómo crear juegos en C++...

¿Podríais recomendarme algún pdf o alguna página online que explique bien cómo hacer videojuegos en C? (A ser posible en español).

Muchas gracias.

Saludos.
#20
Hola.

He estado intentando calcular potencias mediante una función recursiva. Este ha sido mi resultado (es erróneo, pero no sé por qué).

7
int potencia(int x, int n)
{
   if(n == 0) return 1;
   
   else if (n % 2 == 0) return potencia(x*x, n/2);
   
   else return x * potencia(x, n-1);
}


Para llegar a plantearlo, he tomado en cuenta que:

- x^n = (x * x) ^ n/2 (siendo n > 0 y un número par)

- x^n = x * x^(n-1)

Muchas gracias.

Saludos.
#21
Hola.

Estoy haciendo un ejercicio que tiene este enunciado:

"Escribir un programa que pida al usuario los datos de una matriz de tamaño 3x3, y
guarde en un vector la diagonal principal, y en otro la otra diagonal."

Tengo guardada en un vector la diagonal "Principal". Sin embargo, no se me ocurre cómo guardar la otra diagonal. Sé que tengo que obtener los números de la fila 0, columna 2; fila 1, columna 1; fila 2, columna 0. Pero no sé cómo hacerlo (me refiero a hacerlo con un bucle for, no a guardar de decir "diagonal2 = M[0][2] y eso).

Lo que tengo por ahora es:


/* Escribir un programa que pida al usuario los datos de una matriz de tamaño 3x3, y
guarde en un vector la diagonal principal, y en otro la otra diagonal. */

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

int main()
{
   int i, j, aux, numero;
   int M[3][3];
   int diagonal1[3], diagonal2[3];
   
   for(i=0;i<3;i++)
   {
      for(j=0;j<3;j++)
      {
         printf("COLUMNA: %d\nFILA: %d\nNumero: ", i+1, j+1);
         scanf("%d", &M[i][j]);
         printf("\n");
      }
   }
   
   for(i=0;i<3;i++) diagonal1[i] = M[i][i];
   //diagonal2 = ?
   
   printf("La primera diagonal es:\n");
   for(i=0;i<3;i++) printf("%d ", diagonal1[i]);
   printf("y la segunda:\n");
   for(i=0;i<3;i++) printf("%d ", diagonal2[i]);
   
   system("pause");
   return 0;
}


Muchísimas gracias.
Saludos.
#22
Programación C/C++ / Problemas vectores
2 Marzo 2012, 18:50 PM
Hola.

Tengo un problema con los vectores. El enunciado del ejercicio es el siguiente:

Escribir una función que busque en un vector de números el máximo valor, e indique
su valor y posición. Se supone que el vector está desordenado.

Esto es lo que yo he intentado. Cuando compruebo el resultado no está bien.

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

int maximapos (int V[], int n){
   
int i,mejor_valor;

mejor_valor=V[0];

for(i=0;i<n;i++) if (V[i]>mejor_valor) mejor_valor=i;
   
   return(mejor_valor);    
}

int main (void){
   
int V[7]={12,15,3,64,6,2,1};

int mejor_posicion,mejor_valor,i;

mejor_posicion=maximapos(V,7);

mejor_valor=V[mejor_posicion];

printf("El mejor valor es %d y su posicion es %d",mejor_valor,mejor_posicion);

system("pause");
   
}


Muchísimas gracias.

Saludos.
#23
Hola.

Leí hace tiempo en Internet que no se debía usar printf y scanf en funciones. Sin embargo, muchas veces veo códigos que los llevan.

Entonces, ¿es correcto usar printf y scanf en funciones?

Gracias.

Saludos.
#24
Hola.

Haciendo un ejercicio me he encontrado una duda.

Es este:

/*Una agenda que maneje los siguientes datos: nombre, dirección, tlf móvil, email, y día,
mes y año de nacimiento (estos tres últimos datos deberán ser números enteros
cortos). Deberá tener capacidad para 100 fichas. Se deberá poder añadir un dato
nuevo, visualizar los nombres de las fichas existentes, o mostrar todos los datos de una
persona (se preguntará al usuario cual es el nombre de esa persona que quiere
visualizar). Al empezar el programa, leerá los datos de un fichero llamado "agenda.dat"
(si existe). Al terminar, guardará todos los datos en ese fichero.*/

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

int main()
{
    struct
    {
      char nombre[10];
      char direccion[15];
      int movil;
      char email[20];
      short int dia, mes, ano;
    }datos[100];
    char lineas[500];
    FILE* fichero;
    int opcion;
   
    fichero = fopen("agenda.dat", "rt");
    if(fichero != NULL)
    {
   
    while(! feof(fichero)) //Leemos los datos que contiene al principio
    {
      fgets(lineas,25,fichero);
    }
    fclose(fichero);
   
    printf("Elija una opcion\n");
    printf("1. Introducir datos\n");
    printf("2. Visualizar nombres de las fichas existentes\n");
    printf("3. Mostrar todos los datos de una persona\n");
    scanf("%d",&opcion);
   
    switch(opcion)
    {
      case 1:
           //En construcción, lo editaré según las respuestas que obtenga al preguntaros.
           break;
      case 2:
           //En construcción, lo editaré según las respuestas que obtenga al preguntaros.
           break;
      case 3:
           //En construcción, lo editaré según las respuestas que obtenga al preguntaros.
           break;
      default:
              printf("Opcion no valida");
    }
    }
   
   
   
   
    system("pause");
    return 0;
}



La idea que estoy siguiendo es que primero abro el archivo en modo de lectura. Entonces pongo los casos en los que tiene que leer el archivo, y los casos en los que no. Cierro el archivo.

Después, creo un switch, en el que elijo una de las tres opciones, y ahí planteo cada cosa.

Y, finalmente, abro de nuevo el archivo, pero esta vez para escribir, y meto los datos obtenidos en el switch.

Mi problema es que no sé cómo hacer para que al cerrar el programa y volver a abrirlo sepa que ya he metido un número determinado de fichas (no sé si me explico). Creo que solo es con un do-while en el switch de "añadir datos", sumándole uno a "i", pero no estoy seguro.

También me gustaría saber si veis bien como he planteado el problema, para ver cómo puedo cambiar las cosas.

Muchísimas gracias.

Saludos.
#25
Hola.

Estoy empezando con el tema de ficheros.

Tengo este ejercicio:

/*Un programa que pregunte un nombre de fichero y muestre en pantalla el contenido de
ese fichero, haciendo una pausa después de cada 25 líneas, para que dé tiempo a
leerlo. Cuando el usuario pulse intro, se mostrarán las siguientes 25 líneas, y así hasta
que termine el fichero.*/

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


int main()
{
    FILE* fichero;
    char nombre[50];
    char linea[81];
    char pausar[2];
    int i;
   
    printf("Introduce un nombre");
    fgets(nombre,49,stdin);
    i=0;
fichero = fopen(nombre, "rt");
if (fichero == NULL)
{
printf("No existe el fichero!\n");
exit(1);
}
while (! feof(fichero)) {
                i=i+25;
fgets(linea, i, fichero);
puts(linea);
do{
gets(pausar);
}
while(strcmp(pausar,"")!=0);           

}

fclose(fichero);
   
    system("pause");
    return 0;
}


Pero tengo varias cosas mal:

- Siempre me dice que el fichero no existe.
- No consigo que pare cada 25 líneas hasta que presione intro sin escribir nada (lo que he conseguido ha sido cada X letras...).

Muchas gracias.

Saludos.
#26
Foro Libre / Sobre la informática
31 Enero 2012, 22:56 PM
Hola.

Desde pequeño me gusta mucho la informática en general. Todavía tengo 14 años, y, aunque sé que es demasiado pronto para decidirlo, me gustaría estudiar Ingeniería Informática.

Estoy empezando a estudiar algo por mi cuenta, ya que me divierte bastante. Por ahora, estoy programando en C.

Lo que quería saber era qué campos de la Informática, a parte de la programación, puedo tocar con mi edad. Algo en lo que haya muchos libros en internet (para no agobiarme mucho buscándolos, porque, por ejemplo, he estado buscando libros de Fundamentos de Estructuras de Computadores, y poco he encontrado...).

Gracias.

Saludos.
#27
Programación C/C++ / Comparando cadenas
22 Enero 2012, 01:17 AM
Hola.

Estoy haciendo un problema que dice lo siguiente:

Un programa que pida 10 nombres y los memorice. Después deberá pedir que se teclee un nombre y dirá si se encuentra o no entre los 10 que se han tecleado antes. Volverá a pedir otro nombre y a decir si se encuentra entre ellos, y así sucesivamente hasta que se teclee "fin".

Yo tengo esto:

/*Un programa que pida 10 nombres y los memorice. Después deberá pedir que se teclee
un nombre y dirá si se encuentra o no entre los 10 que se han tecleado antes. Volverá
a pedir otro nombre y a decir si se encuentra entre ellos, y así sucesivamente hasta que
se teclee "fin".*/

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

int main(){
   
    char n1[20], n2[20], n3[20], n4[20], n5[20], n6[20], n7[20], n8[20], n9[20], n10[20], n11[20];
    char n12[20]={"fin"};
   
    printf("Introduce un nombre");
    gets(n1);
    printf("Introduce otro nombre");
    gets(n2);
    printf("Introduce otro nombre");
    gets(n3);
    printf("Introduce otro nombre");
    gets(n4);
    printf("Introduce otro nombre");
    gets(n5);
    printf("Introduce otro nombre");
    gets(n6);
    printf("Introduce otro nombre");
    gets(n7);
    printf("Introduce otro nombre");
    gets(n8);
    printf("Introduce otro nombre");
    gets(n9);
    printf("Introduce otro nombre");
    gets(n10);
   
   
    do{
    printf("Introduce un nombre para comprobar si se encuentra entre los anteriores");
    gets(n11);
    if((strcmp(n11,n1)||
    strstr(n11,n2)||
    strstr(n3,n11)||
    strstr(n4,n11)||
    strstr(n5,n11)||
    strstr(n6,n11)||
    strstr(n7,n11)||
    strstr(n8,n11)||
    strstr(n9,n11)||
    strstr(n10,n11))==0) printf("El nombre se encuentra entre los anteriores\n");
    else printf("El nombre no se encuentra entre los anteriores\n");
   
    }
    while(n11!=n12);
   
    system("pause");
    return 0;
   
}



Lo que me hace es que me reconoce si la primera palabra introducida (n1) es igual que la última (n11), pero con las demás no hace nada.

Además, al poner "fin", no finaliza el programa.

¿Alguien podría decirme cuál es mi problema?

Muchísimas gracias.

Saludos.
#28
Programación C/C++ / Problema con strcat
21 Enero 2012, 23:58 PM
Hola.

Estoy realizando un programa que pida por separado tu nombre, día de nacimiento, y mes, y que después lo una en una sola cadena.

Yo tengo esto:


    strcat(aux, nombre);
    strcat(aux, ", nacido el ");
    strcat(aux, dia);
    strcat(aux, "/");
    strcat(aux, mes);
   
    printf("%s\n",aux);


Y, al compilar, si pongo, por ejemplo:

Nombre: Nombre
Día: 09
Mes: 12

Sale como resultado: "Nombre, nacido el /12". Falta el 09...

¿Qué estoy haciendo mal?

Gracias.

Saludos.
#29
Programación C/C++ / Problema con funciones
21 Enero 2012, 00:02 AM
Hola.

Hace tiepo hice un programa que consistía en crear el juego de la ruleta. Ahora que he empezado a ver el tema de funciones, me gustaría hacerlo de esta forma.

Mientras antes tenía esto en la función main:

if(opcion==1){
   do{
   printf("\nIntroduce un 0 si apuestas por par o un 1 si es por impar");
   scanf("%d",&x);
   }
   while((x!=0)&&(x!=1));
   
   if((x==0)&&(dado%2==0)){
   bolsa=bolsa+2*apuesta;
   printf("\nHas acertado, es par. Ha salido %d. Su bolsa es de %d fichas", dado,bolsa);                                                
   }
   else{
     if((x==1)&&(dado%2!=0)){
     bolsa=bolsa+2*apuesta;
     printf("\nHas acertado, es impar. Ha salido %d. Su bolsa es de %d fichas", dado,bolsa);                                                
     }
     else{
       if((x==0)&&(dado%2!=0)){
       printf("\nNo has acertado. Ha salido %d. Su bolsa es de %d fichas", dado,bolsa);                                                
       }  
       else{
         if((x==1)&&(dado%2==0)){
         printf("\nNo has acertado. Ha salido %d. Su bolsa es de %d fichas", dado,bolsa);                                                
         }      
       }  
     }  
       
   }            
 }


Ahora pongo lo siguiente en una función:

int opcion_1 (int x){
   int dado,apuesta,bolsa;
   srand(time(NULL));
   dado= rand()%36;
   do{
   printf("\nIntroduce un 0 si apuestas por par o un 1 si es por impar");
   scanf("%d",&x);
   }
   while((x!=0)&&(x!=1));
   
   if((x==0)&&(dado%2==0)){
   bolsa=bolsa+2*apuesta;
   printf("\nHas acertado, es par. Ha salido %d. Su bolsa es de %d fichas", dado,bolsa);                                                
   }
   else{
     if((x==1)&&(dado%2!=0)){
     bolsa=bolsa+2*apuesta;
     printf("\nHas acertado, es impar. Ha salido %d. Su bolsa es de %d fichas", dado,bolsa);                                                
     }
     else{
       if((x==0)&&(dado%2!=0)){
       printf("\nNo has acertado. Ha salido %d. Su bolsa es de %d fichas", dado,bolsa);                                                
       }  
       else{
         if((x==1)&&(dado%2==0)){
         printf("\nNo has acertado. Ha salido %d. Su bolsa es de %d fichas", dado,bolsa);                                                
         }      
       }  
     }          
   }    
       
}

 return(0);    
}


Y, después, voy a la función main, y pongo:

int main (void){
   
 int opcion_juego,apuesta,bolsa,x,dado;
 srand(time(NULL));
 dado= rand()%36;
 
 
   mostrar_ruleta();
   apostar_fichas(apuesta);
   opcion(opcion_juego);
   bolsa=bolsa-apuesta;
   opcion_1(x); //Esto es lo referente a la funcion



Por favor, ¿alguien podría explicarme cuál es mi problema?

Muchas gracias.

Saludos.

EDITO: Acabo de conseguir que la función funcione dentro de main. Pero creo que las variables se lían unas con otras, porque me dice que la bolsa es "9857437" y que el número que ha salido es "487434"...

Gracias.
#30
Hola.


Hola.

Estoy haciendo el juego del 4 en raya.

Mi problema es que pregunto la columna en la que quiero poner la ficha, y "cae" a la de más abajo. Pero después, si meto la misma columna, en vez de caerme justo arriba de la ficha, "cae" en la misma casilla (las fichas son 1 y 2, según jugador 1 y jugador 2).

Mi código es:


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

int main (void){
   
   int M[8][8];
   
  int i,j,col,jugador,s,fila,xd;
  int v[col];
 

 
   for(i=0;i<8;i++){
   for(j=0;j<8;j++){
   M[i][j]=0;
   }
   }
   jugador=1;
   
   do{   
         
               
   for(i=0;i<8;i++){
   for(j=0;j<8;j++){
   printf("%d  ",M[i][j]);                 
   }   
   printf("\n");                                 
   }
   
   printf("Introduce la columna ");
   scanf("%d",&col);
   
   col=col-1;
   
   fila=7;
   
   M[fila][col]=jugador;
   
   fila--;
   
   
   printf("Introduzca un 0 si abandona o un 1 si quiere seguir jugando");
   scanf("%d",&s);
   jugador=3-jugador;
   }while(s==1);
   
   
system("pause");   
}


Muchas gracias.
Saludos.
#31
Hola.

Estoy practicando con ejercicios de arrays, y estaba haciendo uno en el que tengo que
hacer un array en el que inserto el número de días que tiene cada mes. A partir de ahí, le pido al usuario que inserte una fecha (sólo día y mes). Entonces, tengo que averiguar cuántos días quedan hasta final de año.

Mi código es:

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

int main(){
   
   
    int n,i,x,d,suma,transcurridos,restantes;
    int dias[12]={31,28,31,30,31,30,31,31,30,31,30,31};
   
    printf("Elige un dia del 1 al 31");
    scanf("%d",&d);
   
    do{
    printf("Elige un mes del 1 al 12");
    scanf("%d",&n);
    }
    while(n<1||n>12);
   

   
    for(i=0;i<n;i++);
   
    transcurridos+=dias[n-1];
    transcurridos+=d;
    restantes=365-transcurridos;
   
    printf("Dias restantes: %d",restantes);
   
    system("pause");
    return 0;
}


Sé que mi problema está al plantear el bucle for (de hecho, lo que tengo en el bucle for no lo he enlazado con las instrucciones de debajo)...

Muchas gracias.

Saludos.

#32
Hola.

Estoy haciendo un programa en el que cada elemento de un array lea los numeros pares.

Por ejemplo:

v[0] sería 2
v[1] sería 4
v[2] sería 6

Así hasta v[300].

Tengo hecho esto:

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


int main(){
   
    int i;
    int v[300];
   
    for(i=0;i<300;i++)
   
    i=2*i+2;
    printf("%d",v[i]);
   
    system("pause");
    return 0;
}


Aunque compila, da el resultado 1420; y lo que quiero que salga es 2 4 6 8...

Muchas gracias.

Saludos.
#33
Hola.

Estoy aprendiendo C a través del manual de C de Nacho Cabanes.

He llegado a la parte de los arrays, y el primer ejercicio es:

"Un programa que pida al usuario 4 números, los memorice (utilizando
una tabla), calcule su media aritmética y la muestre en pantalla."

He hecho lo siguiente:

//Pedir al usuario 4 numeros enteros y calcular  la media aritmetica almacenando los datos en un array.

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

int main(){
   
    int numero[4];
    int media,a,b,c,d;
   
    printf("Introduce los cuatro valores\n");
    scanf("%d",&a);
    scanf("%d"&b);
    scanf("%d"&c);
    scanf("%d"&d);
   
    a=numero[0];
    b=numero[1];
    c=numero[2];
    d=numero[3];
   
     media=(numero[0]+ numero[1]+numero[2]+numero[3])/4;
    printf("La media de %d, %d, %d, y %d es %d",a,b,c,d,media);
   
    system("pause");
    return 0;
}


Pero me da error. Supongo que el problema está en cómo asigno la variable a cada elemento del array.

Muchas gracias.

Saludos.
#34
Hola.

Tengo dudas con la representación interna de un número real. Por ejemplo, me dan el siguiente bit

1000001101.1.

He de indicar signo, mantisa y exponente.

El signo sé que es 0 si es positivo y 1 si es negativo. ¿Cómo sé si es positivo o negativo? Esto no es como en complemento a2, ¿no? En mis apuntes dice que es positivo, pero no lo veo.

La mantisa. ¿He de pasar la coma a la derecha hasta que no quede ningún 0 a mi izquierda? Entonces sería 0000011011.

Y para el exponente, ¿qué son el número de comas que paso a la derecha? Como hay 8 comas habría que poner el número 9 en binario, es decir, 1001.

Saludos y muchas gracias.
#35
Hola.
.
En mis apuntes vienen las siguientes preguntas de teoría, pero a mí me parece que se contradicen:

¿Debe una función acceder a variables de fuera de la función?
   

NO DEBE HACERLO. SOLO SI SE LE PASA COMO PARÁMETROS





¿Se puede acceder desde fuera de una función a una variable definida dentro?
   

NO

¿Se puede acceder desde dentro de una función a una variable definida fuera?
   

SI, AUNQUE HAY QUE EVITARLO EN LA MEDIDA DE LO POSIBLE


¿Alguien me las podría explicar?

Saludos y muchas gracias
#36
¡Hola!

Estoy programando el juego de la ruleta.

Tengo hecho un bucle do-while  en el que meto que la apuesta mínima son 10 euros.

Después, otro que pregunta la modalidad de juego que quieres coger. Son unas 10 opciones, y he llegado hasta la 6, pero en la 7 tengo un problema.

Tengo que apostar por la fila. Es decir, tengo que preguntar por qué fila voy a apostar, e introducir un número del 1 al 12 (como se puede ver en la ruleta que he insertado en este mensaje, hay 12 filas).

También he puesto ya el código para que el ordenador piense un número del 0 al 36.

Mi problema viene cuando, por ejemplo, el ordenador piensa aleatoriamente, el 24 (o cualquier otro número). Entonces, al no tener asignado el número 24 a ninguna fila; pues no hace nada.

¿Qué puedo hacer para que el programa sepa que la fila 1 son los números 1, 2 y 3; la 2 los números 4, 5 y 6; y así hasta la fila 12?

Es más un problema de plantear el algoritmo, no de programar. ¿Podríais darme alguna pista?


Muchísimas gracias.

Saludos.
#37
He hecho un programa que resuelve la multiplicación tal y como lo haríamos sin calculadora, es decir, por ejemplo:

222
x22
___
444
444
____
4884

Mi código es el siguiente:


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

int main (void){
   
   int n1,n2,n3,n4,n5,a,b,c;
   
   printf("PRIMER NUMERO ");
   printf("introduce el primer numero");
   scanf("%d", &n1);
   

   
    printf("SEGUNDO NUMERO ");
 printf("introduce la primera cifra");
 
 scanf("%d", &n4);
   
     printf("introduce la segunda cifra");
   scanf("%d", &n5);
   
a=n5*n1;
b=n4*n1;
c=a*10+b;            
   
printf(" %d  \n", n1 );
printf(" x %d%d \n", n4, n5 );
printf("________ \n");
printf(" %d   \n", a );
printf("%d   \n", b);
printf("________ \n");
printf("%d", c);


system("pause");

}









Si os fijáis, he hecho que el programa pregunte al principio el primer número, pero que, al preguntar el segundo, lo pregunte separado, es decir, primera cifra, y segunda (el segundo número debe ser solo de dos cifras).

Mi problema es que no sé si se podrá hacer que, al escribir, por ejemplo "23" sepa que la primera cifra es 2, y la segunda; 3. Así creo que quedaría más completo y correcto, pero no sé si se puede hacer...

Muchas gracias.

Saludos.
#38
¡Hola!

Mi programa es el siguiente: tienes 100 euros, y apuestas una cantidad (como mínimo, 10 euros). Después, el ordenador piensa un número del 1 al 6, si introduces el correcto, lo que has apostado se multiplica por 6 y lo sumas a lo que tenías.

Ayer me estaba saliendo bien, pero estuve haciendo algunos cambios, y ahora no me sale la primera parte.

Ahora introduzco un número mayor que 10 y menos de 100 euros al principio, y me da como válido algunos resultados, otros no.

El programa es:

//Juego de apuestas que no sé por qué no funciona bien

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

int main (void){
   
int bolsa, apuesta, dado, apminima, opcion, n;

  srand(time(NULL));
 
  bolsa=100;
  apminima=10;
 
   
  printf("\a\nTienes %d euros. La apuesta minima son %d euros", bolsa,apminima);
  printf ("\n\nEscriba su apuesta");
  scanf("%d",&apuesta);
 
  do{
 
  do{
  printf ("\nEscriba su apuesta");
  scanf("%d",&apuesta);
  }
  while ((apminima>apuesta) || (apuesta>bolsa));
 
  bolsa=bolsa-apuesta;
 
  do{
  printf("Escriba el numero por el que apuesta");
  scanf("%d",&n);                   
  }
  while((n>6) || (n<1));
 
  dado=1+ rand()%6;
 
  if (dado==n) bolsa=bolsa+6*apuesta;
 
  printf("Apostaste por el numero %d y ha salido %d. Su bolsa tiene ahora %d euros", n,dado,bolsa);
 
  if(bolsa>=apminima){
 
  do{
  printf("Escriba 1 si quiere seguir jugando o 0 si quiere abandonar la partida");
  scanf("%d",&opcion);                 
  }
  while ((opcion!=0)&&(opcion!=1));
 
  }

}
  while((opcion==1)&&(bolsa>=apminima));
 
  printf("\nHasta la proxima");
  printf("\n");


   system("pause");


}


Muchas gracias.
#39
Hola.

Me han planteado dos preguntas. La primera la sé responder.

1. ¿Es posible intercambiar dos valores?

Y yo creo que sí, ya que haciendo lo siguiente en C, me intercambia los valores:

aux=a
a=b
b=aux

Por ejemplo, si a=4 y b=5; con esto será b=4 y a=5, por lo que he comprobado que esa respuesta es correcta.

Ahora viene la segunda pregunta, que es la que no sé...

2. ¿Es posible intercambiar dos valores sin utilizar una variable auxiliar?

En el caso anterior, utilicé la variable "aux", para poder intercambiar los valores de a y b, pero ahora el enunciado dice que no puedo utilizarla.

He probado a poner
a=b
b=a
,pero claro, al poner a=b, en b=a ya estoy diciendo que a=a, por lo que no es correcto.

También he probado con

((a=b) & (b=a)), pero tampoco...

Y bueno, ya en un papel tengo varias posibilidades más, pero son erróneas también...

¿Alguien podría explicarme si es posible?

Muchísimas gracias.
#40
¡Hola!

Estoy creando un pequeño programa, en el que introduzco cinco números, y debe calcularme el más próximo al primero. Por ejemplo, si pongo 5,9,6,3,1; sería 6 el número más próximo al primero. O si pongo 5,7,4,6,9; los números más próximos son dos; 6 y 4.

Pero llevo toda la tarde intentándolo, y nada...

El código que tengo por ahora es:

Código (cpp) [Seleccionar]
#include <stdio.h>
#include <stdlib.h>

int main (void){
 
    float n,n_mejor,d_mejor,a,d;
   
    printf("Introduce el primer numero");
    scanf("%f",&a);
   
    printf("Introduce el segundo numero");
    scanf("%f",&n);
   
  d_mejor=(n-a)*(n-a);
   
    printf("Introduce el tercer numero");
    scanf("%f",&n);
   
  d_mejor=(n-a)*(n-a);
  if(d<d_mejor){
                d_mejor=d;
                n_mejor=n;
                }
   
         
         
    printf("Introduce el cuarto numero");
    scanf("%f",&n);
   
    d_mejor=(n-a)*(n-a);
  if(d<d_mejor){
                d_mejor=d;
                n_mejor=n;
                }
           
    printf("Introduce el quinto numero");
    scanf("%f",&n);
     
                 d_mejor=(n-a)*(n-a);
  if(d<d_mejor){
                d_mejor=d;
                n_mejor=n;
                }
               

         printf("El numero mas cercano al primero es %f",n);
             
   
    system("pause");
}
   


Ah, d_mejor es la distancia menor entre "a" y cualquier otro número.

Ah ,y el programa me gustaría hacerlo con if, else, printf y scanf, para mejorar el uso de ellos e ir poco a poco aprendiendo programación.

Muchísimas gracias.
#41
¡Hola!

Estaba haciendo un programa, el cual me calcula las soluciones de las ecuaciones de segundo grado. Mi código es el siguiente:



Código (cpp) [Seleccionar]

//Este programa calcula la solucion de una ecuacion de segundo grado introduciendo los coeficientes


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

int main (void){
    float a,b,c,x1,x2,x,z;
   
    printf("\n Introduce el primer coeficiente");
    scanf("%f",&a);
   
   
    printf("\n Introduce el segundo coeficiente");
    scanf("%f",&b);
   
   
    printf("\n Introduce el tercer coeficiente");
    scanf("%f",&c);
   
    if(a!=0){
      if(b*b-4*a*c>=0){
        x1=(-b+pow(b*b-4*a*c,0.5))/(2*a);
        x2=(-b-pow(b*b-4*a*c,0.5))/(2*a);
        printf("\n Las dos soluciones son %f y %f", x1,x2);
      }
        else{
          if(b*b-4*a*c<0){
            printf("\n No tiene solucion real");
          }
            else{
              if(b*b-4*a*c==0){
              z=-b/(2*a);                 
              printf("\n La solucion es %f",z);
              }     
            }
           
        }
     }
     
     if(a==0){
       if(b!=0){
         x=(-c)/b;   
         printf("\n La solucion es %f", x);
       }
        else{
          if((b==0)&&(c!=0)){
          printf("\n No tiene solucion");
          }   
            else{
              if((b==0)&&(c==0)){
              printf("\n La solucion es trivial", x);                     
              }
            }         
        }
               
     
     }
     
     printf("\n");
   
   
system ("pause");   
}


Pero ahora quiero que en vez de ponerme "No tiene solución real", me calcule la solución con números complejos... ¿Cómo podría hacerlo? No veo conveniente declarar la "i" como variante, pero si no la pongo, tampoco sale...

Muchísimas gracias.
#42
Programación C/C++ / Error al compilar
1 Noviembre 2011, 02:24 AM
¡Hola!

Estaba haciendo un pequeño programa; el cual debe calcularme el mes, día, hora, minuto y segundo que será si le sumo 1 segundo (y posteriormente, le añadiré los años).

Tengo todo terminado, pero al compilar me da el error "expected ´(´ before ´{´ token (línea 48; la dejaré anotada al poner el código).

Bueno, el código es:



//programa para sumar un segundo a los segundos, minutos, horas, dias, meses y años

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



int main (void){
   
    int me, d, h, m, s;
   
    printf("\n Escribe el numero del mes");
    scanf("%d",&me);
   
    printf("\n Escribe los dias");
    scanf("%d",&d);
   
    printf("\n Escribe las horas");
    scanf("%d",&h);
   
    printf("\n Escribe los minutos");
    scanf("%d",&m);
   
    printf("\n Escribe los segundos");
    scanf("%d",&s);
   
   
    printf("\n");
   
    if (s!=59){
      s=s+1;
      }
      else{
        if(m!=59){
                  m=m+1;
                  s=0;
                  }
        else{
        if(h!=23){
        h=h+1;
        m=0;
        s=0;
        }
         
       
         
           
        else{     
   //ESTA LÍNEA ES LA QUE DA ERROR             if{     (((me=1)||(me=3)||(me=5)||(me=7)||(me=8)||(me=10)||(me=12))&(d!=31)){                       
                 me=me+1;
                 d=0;
                 h=0;
                 m=0;
                 s=0;}
                 
             else{
                 me=me;
                 d=d+1;
                 h=0;
                 m=0;
                 s=0;}
                 
               
                 
               
                 else{if (((me==4)||(me==6)||(me==9)||(me==11))&(d==30))){
                 me=me+1;
                 d=0;
                 h=0;
                 m=0;
                 s=0;}
                 
                 else{
                 me=me;
                 d=d+1;
                 h=0;
                 m=0;
                 s=0;}
                     
                         
                         
                         }
                 
                 }
                 
                         }
                         }                   
                     
        }
     
     
       
      printf("Los meses, las horas, los minutos y los segundos un segundo despues son  %d mes %d dias %d h %d min %d s \n", me,d,h,m,s);
       
   
    system("pause");
}


Por favor, ¿alguien podría ayudarme?

Muchísimas gracias.
#43
Hola.

Estoy haciendo un programa en c++; el cual debe calcularme la intersección entre dos segmentos.

Tengo planteado todo el problema.  Y además, me calcula bien casi todos los tipos de intersecciones.

Mi código es:



//Este programa calcula la interseccion de dos segmentos

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

int main (void){
   
    float a,b,c,d;
   
    printf("\n Introduzca el primer numero del primer segmento");
    scanf ("%f",&a);

    printf("\n Introduzca el segundo numero del primer segmento");
    scanf ("%f",&b);
   
    printf("\n Introduzca el primer numero del segundo segmento");
    scanf ("%f",&c);
   
    printf("\n Introduzca el segundo numero del segundo segmento");
    scanf ("%f",&d);
   
   
          if (b<c){
          printf ("La interseccion es vacia");
          }
          else { if (a>d)
          printf ("La interseccion es vacia"); 
         
          else {if (a<c, b>d)
                   printf ("La interseccion es %f,%f", c,d);
                    else
                     {if (a>c, b>d)
                 printf ("La interseccion es %f,%f", a,d);
                 
              else {
          if (a<c, b==d) {
                   printf ("La interseccion es %f,%f", c,b);
                   }
                   else {if (a==c, b==d)
                   printf ("La intersección es %f,%f", a,c);
                   
           
           
     
            else {
          if (b==c){
          printf ("La interseccion es el punto %f",b);
          }
       
   
          else { if (a==d)
          printf ("La interseccion es el punto %f",a);
                   
                   
                   
          else{
          if (a<c, b>d) {
                   printf ("La interseccion es %f,%f", c,d);
                   }
                   
                   
                   }}}}}}}}
           
   system("pause");
}




Bien; ahora planteo el problema... Me coge bien todas las intersecciones, excepto los dos tipos siguientes:

else {if (a<c, b>d)
                   printf ("La interseccion es %f,%f", c,d);
                    else
                   
                  {if (a>c, b>d)
                 printf ("La interseccion es %f,%f", a,d);


Al ir cambiando el código, siempre me sale bien uno de los dos tipos de intersecciones de arriba, pero no soy capaz de que me salgan los dos a la vez. Con eso, completaría el programa que estoy creando.

Muchas gracias.
#44
Programación C/C++ / Problema al elevar a 1/2
30 Octubre 2011, 12:09 PM
Hola.

Estoy haciendo un programa en C++ en el que introduces la longitud de dos catetos y te calcula la hipotenusa. Lo tengo terminado, lo único que, como todos sabemos 1/2 es 0.5. Pues bien, si pongo lo siguiente:

// Dada la longitud de dos catetos calcular la hipotenusa

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

int main (void){
     float c1,c2,h;
     
      printf("Introduzca el valor de un cateto");
      scanf("%f",&c1);
     
     
      printf("Introduzca el valor del otro cateto");
      scanf("%f",&c2);
     
      h= pow (c1*c1+c2*c2,1/2);
     
      printf("El valor de la hipotenusa es %f",h);
     
    system("pause");
}


Ahí me calcula mal la hipotenusa. Sin embargo, si en la fórmula lo elevo a 0.5; sí me la calcula bien, cuando 1/2=0.5

// Dada la longitud de dos catetos calcular la hipotenusa

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

int main (void){
     float c1,c2,h;
     
      printf("Introduzca el valor de un cateto");
      scanf("%f",&c1);
     
     
      printf("Introduzca el valor del otro cateto");
      scanf("%f",&c2);
     
      h= pow (c1*c1+c2*c2,0.5);
     
      printf("El valor de la hipotenusa es %f",h);
     
    system("pause");
}


Muchas gracias.
#45
Programación C/C++ / Inicio en programación
31 Agosto 2011, 16:04 PM
¡Hola!

Soy nuevo en este foro.

Me gustaría aprender a programar. Por lo que he visto por el foro, recomendáis empezar con C y C++.

De momento no tengo ni idea de programación en ningún lenguaje (tengo 13 años).

¿Me podríais aconsejar cómo empezar, con cuál de los dos (c o c++), etc.?

No sé ni los programas que me tengo que descargar, ni nada...

Muchas gracias.

Saludos.