Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - Ogramar

Páginas: 1 ... 33 34 35 36 37 [38] 39 40 41 42 43 ... 100
741
Buenas para hacer lo que comentas debes dividir la palabra en base a los espacios, luego puedes colocar cada palabra en una columna, y luego unir en otra columna las palabras en el orden invertido.

Este es un ejemplo de cómo dividir en palabras una columna donde tengamos el nombre Eric S. Kurjan      

Columna B First Name (Eric) donde extraemos la primera palabra:

=LEFT(A2, SEARCH(" ",A2,1))

Columna C Middle Name (S.) donde extraemos la segunda palabra:

=MID(A2,SEARCH(" ",A2,1)+1,SEARCH(" ",A2,SEARCH(" ",A2,1)+1)-SEARCH(" ",A2,1))


Columna D Last Name ( Kurjan ) donde extraemos la tercera palabra:

=RIGHT(A2,LEN(A2)-SEARCH(" ",A2,SEARCH(" ",A2,1)+1))

Salu2

742
Buenas Salvador creo que el código del apartado 2) no se ha pegado correctamente, veo que aparece el cierre </head> pero no veo la apertura, posiblemente está incompleto ¿?

Salu2

744
Buenas, sin entrar a analizar otras cuestiones, a mí me está saltando un error en esta línea:

auxiliar = L->primero;

No veo claro este fragmento:

struct lista{
   struct nodo *primero;
   struct nodo *ultimo;
};

Normalmente una lista se define a partir de un puntero que enlaza con otro, sin necesidad de definir una estructura lista en sí, como en el siguiente ejemplo:

Código: [Seleccionar]
#include <stdio.h>

 struct _agenda {
        char nombre[20];
        char telefono[12];
        struct _agenda *siguiente;
        };

 struct _agenda *primero, *ultimo;

 void mostrar_menu() {
      printf("\n\nMenú:\n=====\n\n");
      printf("1.- Annadir elementos\n");
      printf("2.- Borrar elementos\n");
      printf("3.- Mostrar lista\n");
      printf("4.- Salir\n\n");
      printf("Escoge una opcion: ");fflush(stdout);
 }

 /* Con esta función añadimos un elemento al final de la lista */
 void anadir_elemento() {
      struct _agenda *nuevo;

      /* reservamos memoria para el nuevo elemento */
      nuevo = (struct _agenda *) malloc (sizeof(struct _agenda));
      if (nuevo==NULL) printf( "No hay memoria disponible!\n");

      printf("\nNuevo elemento:\n");
      printf("Nombre: "); //fflush(stdout);
      gets(nuevo->nombre);
      printf("Telefono: "); fflush(stdout);
      gets(nuevo->telefono);

      /* el campo siguiente va a ser NULL por ser el último elemento
         de la lista */
      nuevo->siguiente = NULL;

      /* ahora metemos el nuevo elemento en la lista. lo situamos
         al final de la lista */
      /* comprobamos si la lista está vacía. si primero==NULL es que no
         hay ningún elemento en la lista. también vale ultimo==NULL */
      if (primero==NULL) {
         printf( "Primer elemento\n");
         primero = nuevo;
         ultimo = nuevo;
         }
      else {
           /* el que hasta ahora era el último tiene que apuntar al nuevo */
           ultimo->siguiente = nuevo;
           /* hacemos que el nuevo sea ahora el último */
           ultimo = nuevo;
      }
 }

 void mostrar_lista() {
      struct _agenda *auxiliar; /* lo usamos para recorrer la lista */
      int i;

      i=0;
      auxiliar = primero;
      printf("\nMostrando la lista completa:\n");
      while (auxiliar!=NULL) {
            printf( "Nombre: %s, Telefono: %s\n",
                    auxiliar->nombre,auxiliar->telefono);
            auxiliar = auxiliar->siguiente;
            i++;
      }
      if (i==0) printf( "\nLa lista está vacía!!\n" );
 }

 int main() {
     char opcion;

     primero = (struct _agenda *) NULL;
     ultimo = (struct _agenda *) NULL;
     do {
         mostrar_menu();
         opcion = getch();
             switch ( opcion ) {
                case '1': anadir_elemento();
                       break;
                case '2':  printf("No disponible todavia!\n");
                        break;
                case '3': mostrar_lista(primero);
                        break;
                case '4': exit( 1 );
                default: printf( "Opcion no válida\n" );
                         break;
             }
     } while (opcion!='4');
 }

En este ejemplo la lista está definida implícitamente por la existencia de los punteros *primero y *ultimo, pero no como una nueva estructura de datos, sino simplemente como elementos. Bueno, esto no es sencillo...


Salu2

745
Buenas Rosa para pegar código en el foro hazlo siempre como se indica en https://www.aprenderaprogramar.com/foros/index.php?topic=1460.0

Ten en cuenta que en los constructores normalmente los atributos se inicializan así:

Valores numéricos: a cero
Valores booleanos: a false
Valores cadenas: a cadena vacía, es decir, ""

En tu ejercicio sería así:

Código: [Seleccionar]
    public Rueda(){
    tipo = "";
    grosor = 0.00;
    diametro =0.00;
    marca = "";
    }

De resto todo bien

Salu2

746
Buenas Rosa una cosa a tener en cuenta es que ciertos prefijos tienen unos usos restringidos a ciertas cosas. Por ejemplo

get: se usa solo para recuperar algo (el uso más habitual es para recuperar un atributo de una clase, por ejemplo getNombre)

set: se usa solo para establecer algo (el uso más habitual es para establecer un atributo de una clase, por ejemplo setNombre)

add: se usa solo para añadir algo (por ejemplo addNombreEnLista)

Hay otros prefijos.

Por ello

El apartado 1) está bien

El apartado 2) no está bien. El ejercicio pedía esto

Citar
Pedir a un administrador de una compañía discográfica que introduzca la duración de todas las canciones (dichas duraciones se almacenarán como información del objeto). Es decir, el método se encargará de saludar al usuario y pedirle que vaya introduciendo una por una la duración de las canciones.

Si usas un nombre como setDuracionCancion el nombre da a entender que el método sirve para establecer la duración de una canción, pero no es así.

El apartado 3) está bien

El apartado 4) no está bien ya que estás utilizando un set pero el método no es para establecer, sino para añadir.

Fíjate en las soluciones propuestas en este hilo : https://www.aprenderaprogramar.com/foros/index.php?topic=956.0

Salu2

747
Buenas la verdad es que no sé si te puede servir pero en este hilo se practica con el envío de información usando Java: https://www.aprenderaprogramar.com/foros/index.php?topic=3209.0

Salu2

749
Buenas bien

Lo pensado sin ejecutar el código (verificar divisibilidad por 2) luego veo comprobaste que era para sacar los números primos

Salu2

751
Buenas

El operador ternario está definido en el lenguaje (JavaScript). Tienes la explicación y ejemplos en https://www.aprenderaprogramar.com/index.php?option=com_content&view=category&id=78&Itemid=206

Salu2

752
Buenas

Esto no está bien:

Citar
Es lo mismo poner "++i" que "i++" que "i=i+1" que "i+1=i".

++i no es lo mismo que i++ aunque a veces tenga el mismo resultado, se explica en https://www.aprenderaprogramar.com/foros/index.php?topic=4768.0

Y tampoco i+1 = i es lo mismo que i = i+1, de hecho la primera forma puede ser no permitida

En el ejercicio 2 ocurre eso extraño, puede ser un error en el curso o un cambio


Salu2

754
Buenas ejercicio bien

En el bucle for for(i=1,product=1;i<=4;++i) se inicializan dos variables al comenzar el bucle, la variable i y la variable product

Explicación sobre el bucle for extraño: https://www.aprenderaprogramar.com/foros/index.php?topic=3827.0

Salu2

755
Buenas igual bien otra vez Creo que el segundo ejercicio lo que pretende es demostrar cómo en C el paso de arrays a funciones permite la manipulación del contenido del array dentro de la función.

Salu2

758
Buenas veo el código ok el único problema lo tendrías si en una línea de texto tuvieras más de 50 caracteres ya que no te cabría en la longitud de cadena utilizada

759
Buenas en general se considera una buena práctica de programación (y recomendable) inicializar las variables. En algunos lenguajes forma parte de la propia estructura habitual de la programación (por ejemplo en Java al crear un objeto usamos un constructor y en ese constructor normalmente inicializamos todos los atributos aunque no sea algo obligatorio, pero lo hacemos por norma). No inicializar una variable puede suponer un riesgo, de ahí que sea recomendable (aunque a veces ciertamente no se haga. En ese caso la variable tendrá un valor de defecto definido por el compilador, o quizás tenga un contenido nulo).

Salu2

760
Buenas, yo recomendaría seguir el curso de php y el curso de ajax porque son cursos básicos que te dan una buena orientación de programación web. Luego ya podrías decantarte por especializarte en algo

Salu2

Páginas: 1 ... 33 34 35 36 37 [38] 39 40 41 42 43 ... 100

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".