Foros aprenderaprogramar.com

Aprender a programar => C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más => Mensaje iniciado por: pedro,, en 17 de Mayo 2016, 12:32

Título: C (LenguajeC) Cadenas de texto, arrays de caracteres (arreglos) strings CU00514F
Publicado por: pedro,, en 17 de Mayo 2016, 12:32
Hola, dejo posible solución al ejercicio.

Citar
EJERCICIO

Crea el código de un programa que cumpla las siguientes premisas. Declara un array de caracteres denominado arrayDeCincoChar. Establece para cada uno de los índices del array que el contenido sean los caracteres a, b, e, t, o. A continuación haz que se muestre por pantalla (ventana de consola) el texto: “La palabra en el array es abeto”, donde abeto estará definido letra a letra utilizando los elementos del array.

Código: [Seleccionar]
#include <stdio.h>
#include <stdlib.h>
int main() {
    char arrayDeCincoChar[4];
    arrayDeCincoChar[0] = 'a';
    arrayDeCincoChar[1] = 'b';
    arrayDeCincoChar[2] = 'e';
    arrayDeCincoChar[3] = 't';
    arrayDeCincoChar[4] = 'o';
    printf("La palabra en el array es %c%c%c%c%c\n\n", arrayDeCincoChar[0], arrayDeCincoChar[1], arrayDeCincoChar[2], arrayDeCincoChar[3], arrayDeCincoChar[4]);
    arrayDeCincoChar[2] = 'a';
    return 0;
}

Citar
a) ¿Qué índice o localizador tiene el primer elemento del array? ¿Y el último?
El índice del primer elemento del array es 0 y el último es 4.

Citar
b) ¿Qué ocurre si intentamos mostrar por pantalla una letra con un índice que no está definido para ese array de caracteres?
Que se muestra un espacio en blanco en su lugar.

Citar
c) Modifica la tercera letra de la cadena para que pase a ser la letra a. A continuación muestra el mismo contenido que anteriormente. En esta ocasión, dado que hemos modificado la tercera letra, deberá mostrarse por pantalla: “La palabra en el array es abata”.

Código: [Seleccionar]
#include <stdio.h>
#include <stdlib.h>
int main() {
    char arrayDeCincoChar[4];
    arrayDeCincoChar[0] = 'a';
    arrayDeCincoChar[1] = 'b';
    arrayDeCincoChar[2] = 'e';
    arrayDeCincoChar[3] = 't';
    arrayDeCincoChar[4] = 'o';
    printf("La palabra en el array es %c%c%c%c%c\n\n", arrayDeCincoChar[0], arrayDeCincoChar[1], arrayDeCincoChar[2], arrayDeCincoChar[3], arrayDeCincoChar[4]);
    arrayDeCincoChar[2] = 'a';
    printf("La palabra en el array es %c%c%c%c%c\n\n", arrayDeCincoChar[0], arrayDeCincoChar[1], arrayDeCincoChar[2], arrayDeCincoChar[3], arrayDeCincoChar[4]);
    return 0;
}

Saludos. ;D
Título: Re:C (LenguajeC)Cadenas de texto, arrays de caracteres. CU00514F
Publicado por: Daniloboy en 18 de Mayo 2016, 11:55
He visto lo mismo en tus otros post donde contenía algún tipo de array en el ejercicio, al definir el array se cuenta el cero también por lo que si escribes arraydeCincoChar[4]; solo puedes definir del 0 al 3 porque el cero cuenta también (0,1,2,3).
Si colocamos arraydeCincoChar[5]; entonces si podrás mostrar la palabra "abeto" (0,1,2,3,4)

Un saludo y disculpa mi intromisión, se me quedo grabado a fuego esa definición de los arrays jajaja.
Título: Re:C (LenguajeC)Cadenas de texto, arrays de caracteres. CU00514F
Publicado por: pedro,, en 18 de Mayo 2016, 13:30
Gracias por la corrección.

Código corregido:

Código: [Seleccionar]
#include <stdio.h>
#include <stdlib.h>
int main() {
    char arrayDeCincoChar[5];
    arrayDeCincoChar[0] = 'a';
    arrayDeCincoChar[1] = 'b';
    arrayDeCincoChar[2] = 'e';
    arrayDeCincoChar[3] = 't';
    arrayDeCincoChar[4] = 'o';
    printf("La palabra en el array es %c%c%c%c%c\n\n", arrayDeCincoChar[0], arrayDeCincoChar[1], arrayDeCincoChar[2], arrayDeCincoChar[3], arrayDeCincoChar[4]);
    arrayDeCincoChar[2] = 'a';
    return 0;
}

En el segundo código también habría que dejar esta línea de la siguiente forma:
Código: [Seleccionar]
char arrayDeCincoChar[5];Saludos.