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 - pedro,,

Páginas: 1 ... 35 36 37 38 39 [40] 41 42 43 44 45 ... 65
784
Buenas.

Las dos primeras líneas del main(), no son correctas, lo primero porque no está permitido palabras con tilde como nombres de variables, además los valores que les das, no corresponden con las letras a las que quieres representar. El ejercicio es más fácil de como te lo plantes.
En cuanto a las tildes, si usas código ascii hexadecimal sería:
á –> \xA0
é –> \x82
í –> \xA1
ó –> \xA2
ú –> \xA3
ñ –> \xA4
Ñ –> \xA5
Y el código ascii decimal es:
á -> 160
é -> 130
í -> 161
ó -> 162
ú -> 163
ñ -> 164
El código hexadecimal puedes usarlo de la siguiente forma:

Código: [Seleccionar]
char texto1 [50] = "<<El ant\xA1lope est\xA0 hecho a\xA4icos>>";
y el decimal, de la forma que tu lo utilizaste.

Código: [Seleccionar]
printf("\t<<El ant%clope est%c hecho a%cicos>>\n", 161, 160, 164);
Así que quitando las dos primeras líneas que te comenté y cambiando el valor de las variables usando el código apropiado y también quitando el nombre de las variables texto1, texto2, texto3 y texto4 en los cuatro ultimas sentencias printf(), debido a que no les estás dando uso, puesto que no las estás imprimiendo el código ya te quedaría correcto.

Si quieres puedes echar un vistazo a esta solución del ejercicio.

https://www.aprenderaprogramar.com/foros/index.php?topic=4584.msg18773#msg18773

Saludos.

786
Hola dimiste.

Los ejercicios están bien resueltos.

En cuanto al código que dices que porqué no funciona, hazte esta pregunta.

¿Qué valor tiene readyState en el momento en que se lee la línea donde está?

La propiedad onreadystatechange es llamada cada vez que cambia el valor de la propiedad readyState de ahí su necesidad. Porque si no la usamos, el if que planteas se leerá una sola vez recogiendo el valor que tenga readyState en ese momento, en este caso el valor sería 1.


Saludos. ;D

787
Hola Pandemia.

No estás mostrando las variables, estás mostrando un texto que es el mismo que contienen las variables declaradas,  tendrías que mostrar algo así:

Código: [Seleccionar]
printf("\n\t%s\n", texto1);
y así con las demás variables.

Saludos.  ;D

788
Hola Salvador.

El ejercicio está bien resuelto.

Solo comentarte que al añadir las tabulaciones "\t", no todos los navegadores se comportan igual, y en algunos, como puede ser chrome, no da un buen resultado.

Saludos.  ;D

790
Hola Salvador.

El que yo lo resolviera con el if, es para que junto con la última letra no se almacenase un salto de línea. Así que el if no es necesario para resolver el ejercicio.

En tu ejercicio hay algunos errores.

Te falta una "}" para cerrar la función.

En el for, en esta parte "i=<palabra.length", tendría que ser menor o igual, "i<=palabra.length"

El alert, tienes que sacarlo del bucle, sino, se ejecutará tantas veces como letras tenga la cadena de texto introducida.

Y por último en línea en la que añades las letras a la variable msg, tendrías que añadir un salto de línea ,'\n'.

Saludos. ;D

791
De nada, para eso estamos.

Cambié la imagen, puesto que tenía un error.

Saludos.

792
Hola sobre el resto de la división te puedo explicar poco, ¿esto lo entiendes?:



La función lenght te devuelve el número de elementos que contiene un array, en este caso,  elementosObtenidos.length, serán 14 elementos. Siempre que tengas dudas puedes usar "alert(elementosObtenidos.length);", para comprobar el valor de variables o de funciones.
A "j" se le resta 1, porque el array contiene 14 elementos, pero los índices de dicho array están comprendidos entre 0 y 13.

La variable "izqda_dcha" se declara de forma global, por eso está fuera de cualquier función. En este código esto se hace así para que cuando se pulse el botón "Pulse aquí para cambiar colores", "izqda_dcha" contenga el último valor que se le halla dado, si ya se ha ejecutado una vez la función cambiarColores(), su valor será  false.
No le des mucha importancia de momento a las variables declaradas con ámbito global, más adelante en el curso se hablará de ellas.

Saludos.   ;D

793
Hola Salvadoruve2.

Primer for:
Código: [Seleccionar]
for (var i=1; i<=10; i++){
subpalabra[i] = subpalabra[i-1] + palabra.charAt(i-1);
}
En la primera línea del for especificamos las veces que debe ejecutarse el bucle, en este caso serán 10 veces, empezando con i=1 hasta i=10, y con i++ lo que hacemos es incrementamos el valor de i en una unidad cada vez que se ejecute el bucle.

Cuando i = 1;
subpalbra[1] = (subpalabra[1-1=0] es igual '') +  (palbra.chartAt(1-1=0) = 'E');
Con i=2;
subpalabra[2] = (subpalabra[2-1=1] que es igual a 'E') + (palabra.charAt(2-1=1) que es igual a 's');
Con i=3;
subpalabra[3] = (subpalabra[3-1=2] que es igual a 'Es') + (palabra.charAt(3-1=2) que es igual a 't');
Con i=4;
subpalabra[4] = (subpalabra[4-1=3] que es igual a 'Est') + (palabra.charAt(4-1=3) que es igual a 'e');
...
Con i=10;
subpalabra[10] = (subpalabra[10-1=9] que es igual a 'Esternocl') + (palabra.charAt(10-1=9) que es igual a 'e');

En el segundo for, lo que hacemos es guardar los valores de cada elemento del array subpalabra[] dentro de la variable msg, y a cada vez que añadimos un valor a la variable msg, también añadimos un salto de línea, '\n'. Este bucle también se ejecutará 10 veces como el primero.

El tercer bucle, añade a la variable msg la palabra al revés. En este caso el bucle empieza desde i = 22 hasta llegar a i=1, para ir introduciendo las letras una a una empezando desde el final de la palabra.
Código: [Seleccionar]
for (var i=palabra.length; i>0; i--){

msg = msg + palabra.charAt(i-1);

}


Espero que te valga, pero si sigues teniendo dudas, dilo.

Saludos. ;D

794
Dejo posible solución al ejercicio CU00540F del curso básico de programación en C.

Citar
EJERCICIO
Crea un programa que usando bucles nos permita pedir un número par comprendido entre 100 y 200 y nos muestre todos los números pares comprendidos entre el número facilitado y 200. Por ejemplo si el número facilitado es 192 nos debería mostrar 192, 194, 196, 198 y 200.

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

int main() {
    int numero = 0;

    printf("Introduzca un n\xA3mero par entre 100 y 200: ");
    scanf("%d", &numero);
    if (numero > 99 && numero < 201 && (numero % 2 == 0)) {
        printf("Los n\xA3meros pares comprendidos entre %d y 200 son:\n", numero);
        while(numero <= 200) {
            printf("%d\t", numero);
            numero = numero +2;
        }
    } else {
        printf("El n\xA3mero introducido es incorrecto.");
    }
    return 0;
}

Saludos.  ;D

795
Posible solución al ejercicio CU00539F.

Citar
EJERCICIO
Crea un programa que pida una entrada de teclado y usando un bucle muestre cada una de las letras que componen la entrada. Por ejemplo si se introduce “avena” debe mostrar:

Letra 1: a

Letra 2: v

Letra 3: e

Letra 4: n

Letra 5: a

Código: [Seleccionar]
#include <stdio.h>
#include <stdlib.h>
int main() {
    char cadenaTexto[200];
    int i = 0;
    printf("Introduzca una cadena de texto: ");
    gets(cadenaTexto);
    while(cadenaTexto[i]!='\0'){
        printf("Letra %d: %c\n", i+1, cadenaTexto[i]);
        i++;
    }
}

Saludos.

796
Hola, dejo una posible solución al ejercicio CU00538F.

Citar
EJERCICIO
Crea un archivo denominado almacen.txt que contendrá una palabra en cada línea (para un total de 6 líneas) como se muestra a continuación:

El
gaucho
es
equilibrio
y
belleza

Crea un programa que cree un array de palabras de modo que se lea el contenido del archivo y se almacene en los elementos del array. Por ejemplo palabra[0] contendrá "El", palabra[1] contendrá "gaucho" y así sucesivamente. Usando un bucle, muestra por pantalla la frase (intercalando los espacios necesarios). En este caso el resultado del programa será como este:
<<Tras extraer la información del archivo construimos esta frase: El gaucho es equilibrio y belleza>>

Código: [Seleccionar]
#include <stdio.h>
#include <stdlib.h>
int main() {
    char palabra[6][50];
    int i = 0;
    FILE* fichero;
    fichero = fopen("almacen.txt", "rt");
    printf("\nLa frase resultante es:\n\t");
    for (i = 0; i <= 5; i++) {
        fscanf (fichero, "%s", &palabra[i]);
        printf("%s ", palabra[i]);
    }
    fclose(fichero);
    printf("\n\nProceso de lectura completado\n");
    return 0;
}

almacen.txt contiene:
Código: [Seleccionar]
El
gaucho
es
equilibrio
y
belleza

Saludos. ;D

797
Hola César, gracias por corregir el ejercicio.

Dejo los dos ejercicios por separado, para que se vea mejor.

Ejercicio 1:
Código: [Seleccionar]
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main() {
    typedef char TipoCadenas[50]; //
    TipoCadenas cadenas[3];
    int i = 0;
    for(i = 0; i < 3; i++){ // Se piden tres cadenas de texto
        printf("Introduzca una cadena de texto: ");
        gets(cadenas[i]);
    }
    puts("");
    for(i = 0; i < 3; i++){ // Se muestran las tres cadenas de texto
        printf("\tEl n\xA3mero de letras de la cadena %d, \"%s\" es %d letras.\n", i+1, cadenas[i], strlen(cadenas[i]));
    }
}

Ejercicio 2:

Código: [Seleccionar]
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main() {
    typedef char TipoCadenas[50]; //
    TipoCadenas cadenas[3];
    TipoCadenas nuevaCadena[3];
    int i = 0;
    int j = 0;
    int resComparacion = 0;
    for(i = 0; i < 3; i++){ // Se piden tres cadenas de texto
        printf("Introduzca una cadena de texto: ");
        gets(cadenas[i]);
    }
    for(i=0; i<3; i++){ // Se recuperan las dos primeras letras de cada cadena de texto y se guardan en una variable.
        for(j=0; j<3; j++){
            if(j==2){
                nuevaCadena[i][j] = '\0'; // Después de recuperar las dos letras, introducimos el final de cadena.
            }else{
                nuevaCadena[i][j] = cadenas[i][j];
            }
        }
    }
    printf("\nEl resultado de concatenar las dos primeras letras de las cadenas es: \"%s\".\n\n",
            strcat(strcat(nuevaCadena[0], nuevaCadena[1]), nuevaCadena[2]));
    resComparacion = strcmp(cadenas[0], cadenas[1]);
    if (resComparacion ==0) {
        printf("La primera cadena, \"%s\", es igual a la segunda cadena, \"%s\".\n", cadenas[0], cadenas[1]);
    } else {
        printf("La primera cadena, \"%s\", no es igual a la segunda cadena, \"%s\".\n", cadenas[0], cadenas[1]);
    }
    return 0;
}

Saludos.


798
Si.

Tedjo el enlace:

https://www.aprenderaprogramar.com/foros/index.php?topic=3259.msg14418#msg14418

Cuando quieras buscar algún ejercicio resuelto, en el buscador que aparece arriba a la derecha, introduce el código del ejercicio que quieras consultar, ahí podrás encontrar las soluciones que los usuarios van dejando.

Saludos.

800
Hola Salvadoruve2

Cuando llamas a la función obtenerImporteConImpuestos, le pasas cuatro argumentos, el importe del producto sin impuestos y 3 tipos de productos, lo que pide el ejercicio es que le pases un importe del producto  y el tipo de producto, así que primeramente tendrás que pedir esos datos y no pasarlos directamente y no pasarlos desde click de la imagen.

La función obtenerImporteConImpuestos2, debe de devolver un array, es decir, hará las operaciones requeridas para llenar este array y luego devolverlo mediante el uso de return.
El array deberás mostrarlo desde otro lugar en el código, en este caso sería buena que creases una tercera función que se encargase de llamar a estas dos funciones.

Saludos. ;D

Páginas: 1 ... 35 36 37 38 39 [40] 41 42 43 44 45 ... 65

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".