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 - K-YreX

#731
Bueno vamos a ir analizando por partes:
En el enunciado dice:
Citar
Se desea representar puntos sobre un plano de coordenadas reales x y, y asignarle a cada uno un carácter para identificarlos.
Por lo que en el punto a), en la estructura te falta una variable más que sea de tipo <char>. Que es como el nombre del punto.


En cuanto al apartado b), te diría que las variables de tipo <Punto> es mejor que las crees dentro del <main> para que las variables sean locales. No es recomendable crear las variables globales, ya que el código pierde seguridad. Por lo demás todo bien.


En el apartado c), si tienes una estructura de tipo <Punto>, no pases las coordenadas sueltas a la función. Te recomiendo que modifiques esa función y sea algo así:

float distancia(Punto p1, Punto p2);



En el apartado d), si no te deja pasar un array de <Puntos> como parámetro es porque estás declarando que el parámetro es un array de <float>. Además de eso, cuando se pasa un array como parámetro se recomienda pasar su tamaño también para poder recorrerlo (y tener el tamaño en una variable):

// struct Punto
Punto masAlejado(Punto [], int);
int main(){
    const int NUM_PUNTOS = 3;
    Punto puntos[NUM_PUNTOS];
    // el resto del programa
    Punto mas_alejado = masAlejado(puntos, NUM_PUNTOS);
    // muestras el punto mas alejado
}

Te dejo esa plantilla para que la termines de implementar si te parece buena idea, claro :-X. Te comento, te pide calcular el punto más alejado, no la mayor distancia, entonces la función devuelve el punto más alejado, no su distancia.


Ya me contarás si tienes algún problema o alguna duda sobre alguna de las cosas que te he comentado. Suerte:-X
PD: En la función <masAlejado()> puedes crear un punto C(0,0) y usar la función que has creado antes... :silbar: :silbar:
#732
Cita de: borja en 29 Enero 2019, 05:06 AM
hola buenas noches tengo que entregar esta tarea como royecto en c++ ero el programa no uede compilar y me aarece este error  C:\Users\Coni\Desktop\Makefile.win [Build Error]  [main.o] Error -1073741819

este es mi royecto:

#include <stdio.h>
#include <conio.h>

main ()
{
    int op, nu1, nu2,res;
    float res1;
    printf ("Elige la operacion que deseas calcular \n");
     printf ("1. Suma \n ");
    printf ("2. Resta \n ");
    printf ("3. Multiplicacion \n ");
    printf ("4. Division \n ");
    printf ("5. Perimetro del circulo \n ");
    printf ("6. Area del circulo \n ");
    printf ("7. Perimetro del triangulo \n ");
    printf ("8. Area del triangulo \n ");
    printf ("9. Salir \n ");
    scanf ("%d", &op);
    switch (op)
    {
        case 1: printf("Suma \n");
         printf ("introduce el primer numero \n");
         scanf ("%d", &nu1);
          printf ("introduce el segundo numero \n");
         scanf ("%d", &nu2);
         res=nu1+nu2;
          printf ("la suma de los dos numeros es: %d\n",res);

        break;
        case 2: printf("Resta \n ");
         printf ("introduce el primer numero \n");
         scanf ("%d", &nu1);
          printf ("introduce el segundo numero \n");
         scanf ("%d", &nu2);
         res=nu1-nu2;
          printf ("la diferencia de los dos numeros es: %d\n",res);
        break;
        case 3: printf("Multiplicacion \n ");
         printf ("introduce el primer numero \n");
         scanf ("%d", &nu1);
          printf ("introduce el segundo numero \n");
         scanf ("%d", &nu2);
         res=nu1*nu2;
          printf ("la multiplicacion de los dos numeros es: %d\n",res);

        break;
        case 4: printf("Division \n ");
         printf ("introduce el primer numero \n");
         scanf ("%d", &nu1);
          printf ("introduce el segundo numero \n");
         scanf ("%d", &nu2);
         res=nu1/nu2;
          printf ("la division  de los dos numeros es: %d\n",res);

        break;
        case 5: printf("Perimetro del circulo \n ");
        printf ("introduce el radio de la circunferencia \n");
         scanf ("%d", &nu2);
         res1=2*3.1416*nu2;
          printf ("el perimetro del circulo es: %f\n",res1);

        break;

       case 6: printf("Area del circulo \n ");

      printf ("introduce el radio de la circunferencia \n");
         scanf ("%d", &nu2);
         res1=3.1416*(nu2*nu2);
          printf ("el area del circulo es: %f\n",res1);
        break;


       case 7: printf("Perimetro del triangulo \n ");

        printf ("introduce la base del triangulo \n");
         scanf ("%d", &nu1);
          printf ("introduce la altura del triangulo \n");
         scanf ("%d", &nu2);
         res=nu1+nu2+nu2;
          printf ("el perimetro del triangulo es: %d\n",res);
        break;

        case 8: printf("Area del triangulo \n ");

        printf ("introduce la base del triangulo \n");
         scanf ("%d", &nu1);
          printf ("introduce la altura del triangulo \n");
         scanf ("%d", &nu2);
         res=(nu1*nu2)/2;
          printf ("la area del triangulo es: %d\n",res);
        break;

        default:printf("Salir");
    }
    getch();
    return 0;
}


me pudieran ayudar? por favor. Por su atencion muchas gracias

Este mensaje no está directamente relacionado con este tema. Lo suyo sería que crearas un tema nuevo para resolver tu problema. Además los trozos de código hay que ponerlos entre etiquetas de código GeSHi (puedes elegirlo encima del cuadro de texto).
Además te recomiendo no uses <conio.h>. En tu caso, como alternativa al <getch()> puedes usar <getchar()> (que se encuentra en <stdio.h>) y si programas en C++ puedes usar <cin.get()> (que se encuentra en <iostream>).

No controlo mucho los makefile en windows pero tiene pinta de que el error se debe al makefile con el que estás compilando, no al código fuente.

Aparte de eso, en el <case> para hacer la división deberías hacer un typecast y usar la variable <res1> por si la división no es exacta:

res1 = (float)(n1)/n2;

Y en el <case> del perímetro del triángulo, dudo que esa fórmula sea válida...

Ptriangulo = 2h * b ???

Que yo recuerde, cuando hacía esos ejercicios en clase, había que usar trigonometría (Pitágoras) para resolver esos ejercicios. Suerte :-X
#733
Existirán muchas formas de hacerlo y según los conocimientos que tengas y lo eficiente que lo quieras hacer tendrás unas alternativas a mano u otras.
Por ejemplo el bloque de la 26 a la 36 me parece muy ineficiente además de limitado a un número determinado de caracteres.
Te doy una idea sencilla que no requiere manejarse en el interior de un fichero y tú verás si eres capaz de implementarlo o usarlo para crear tu propia idea (cuando escribes dos 'a' seguidas no sé si deben guardarse ambas en el fichero o sólo la primera, para estos ejemplos supongo que sólo la primera):

char anterior != 'a', actual
pedir dato -> actual
si anterior != 'a' || actual != 'a'
    anterior = actual
    guardar anterior en fichero
sino
    fin del programa


Si tienes alguna duda para implementar este algoritmo ya me dirás. Suerte :-X
#734
Hardware / Re: Pendrive dejó de funcionar
27 Enero 2019, 01:51 AM
He intentado utilizar DiskPart pero el problema es que el sistema no reconoce que haya ninguna unidad usb conectada.
Hay alguna solución para esto? Gracias por la ayuda :-X
#735
Hardware / Pendrive dejó de funcionar
26 Enero 2019, 23:27 PM
Compré dos pendrives y al principio podía utilizarlos bien, sin problemas. SIn embargo un día estaba formateando uno de ellos cuando por error lo desconecté antes de que terminara el formateo y ha dejado de funcionar por completo. Es decir, que no lo reconoce el pc cuando lo conecto a este.
He probado en distintos puertos de distintos ordenadores y también he probado en distintos sistemas operativos y nada. El pendrive ha quedado inutilizable... :-\
Me gustaría saber si existe alguna solución para recuperar el pendrive. :-X
#736
Añadiendo un "-c" a la orden habitual. Además si omites la parte del renombramiento (-o nombre) automáticamente el fichero objeto se llamará como el fichero fuente con extensión .o. Suerte :-X
#737
Recientemente he instalado Ubuntu 18.04 en un laptop junto a Windows 10. Al principio con el escritorio por defecto (GNOME) me di cuenta de que el click derecho del touchpad no funcionaba pero enseguida encontré la solución (usando GNOME Tweaks).

El problema llega cuando decidí cambiar de escritorio a Unity. Con el cambio de escritorio se arregló lo del click derecho automáticamente, sin embargo; noté que ahora lo que no funcionaba era el click tocando en el touchpad (no en el botón que hay en la parte inferior del touchpad). Estuve buscando información y encontré que podía deberse a que no estuviese instalado el <xserver-xorg-input-synaptics>.
Decidí instalarlo mediante

sudo apt-get install xserver-xorg-input-synaptics


Después de la instalación, reinicié el laptop y me encontré con que ya funcionaba el toque del touchpad. Sin embargo, dejaron de funcionar las teclas de subir/bajar volumen al igual que las combinaciones de teclas que incluían <alt>. (Es decir <ctrl> + <w> por ejemplo funcionaba pero <ctrl> + <alt> + <t> no).
Decidí volver a desinstalarlo y recuperé el uso de esas teclas pero perdiendo de nuevo el toque del touchpad.

Me gustaría saber si hay alguna forma/solución para tener las dos cosas disponibles. Es decir habilitar el toque del touchpad sin perder las funciones de las teclas físicas del volumen ni los atajos que incluyen <alt>. Gracias :-X
#738
Si eres tan nuevo como dices, te recomiendo empezar por cosas más sencillas como por ejemplo que el programa te pregunte algún número (edad por ejemplo) y según tu respuesta te responda una cosa u otra.

Para lo que quieres hacer tú, primero no vale guardar la pregunta usando <cin> (que será lo que usas habitualmente) porque contiene espacios (debes usar <getline()>). Además si quieres que el programa reconozca la palabra <Lucas> por ejemplo, tendrías que recorrer todo el <string> y comparar cada palabra con esa.

Es un programa que puedes hacer pero tiene sus complicaciones para alguien que está empezando. Suerte :-X
#739
Lo que CalgaryCorpus quiere decir con que asignas dos veces la variable <i> es lo siguiente:
Código (cpp) [Seleccionar]

for(int i = 0; i = tam_archi; i++){}

Ahí estás inicializando la variable <i> a 0, seguidamente le asignas el valor <tam_archi> y ya se ejecuta el <for>. El segundo campo del <for> es incorrecto.


Cita de: Cero++ en 25 Enero 2019, 22:34 PM
Es un ejemplo, ya se que falta el tipo de dato (struct) y los otros errores de sintaxis ; puse un "prototipo" de lo que hice, para que me dijeran qué podría estar mal a nivel lógico jaja espero me comprendas, sino, pongo el código exacto de lo que hice.
Te recomiendo para este tipo de errores que copies el código original, ya que el error puede deberse a que haya algo mal implementado y que tú estés pasando por alto. Si es muy largo puedes copiar sólo el bloque más relevante. :-X
#740
Muestra a ver cómo lo has implementado y qué error te muestra :-X