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 - Pandemia

Páginas: 1 2 3 4 5 [6] 7 8 9 10 11 ... 13
101
Buenas tardes, gracias por contestar Mario, y por corregir.

En el primer ejercicio apartado d) en el codigo inicial solo permite la entrada de tres números y en mi código permite la entrada de más números.

En el segundo ejercicio creo que sí hacen lo mismo los dos códigos, o eso espero.

Saludos.

102
Otro ejercicio bien resuelto,, a por mas....

Saludos.... ;D

103
Todo bien, a seguir adelante.....  ;D

Saludos.

104
ok, cambiaré el color y gracias por la corrección y por tu tiempo, la explicación me ha servido de mucho, me ha aclarado, gracias.

Saludos.

105
Tienes razón fallo mio, gracias por la corrección y por tu tiempo, dejo el código nuevo...

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

int main()
{
      /* local variable definition */
   int a = 10;
   /* while loop execution */
   while( a <= 15 ) {
      printf("value of a: %d\n", a);
      a++;
      //if( a > 15)
      //   break;
      }

   return 0;
}



Saludos...  :)

106
Buenas noches amigos aquí dejo una posible solución al ejercicio CU00551F del tutorial de programación en lenguaje C.

Citar
EJERCICIO

Crea un programa en C que pida una cadena al usuario y muestre por pantalla la cadena invertida.

Por ejemplo, si la cadena introducida es calor, deberá mostrarse por pantalla rolac. Si la cadena introducida es aprenderaprogramar.com deberá mostrarse por pantalla moc.ramargorparednerpa

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

int main()
{
    char texto[200];
    int i;
    printf("\n Escribe cadena de texto >>> ");
    gets(texto);
    printf("\n Escibiste : %s", texto);
    int len = strlen(texto);
    printf("\n\n Texto al reves !!!! ");
    for (i=0; i<len; i++) {
        printf("%c", texto[len-i]);
    }
    printf("\n");
    gets(texto);

}

Saludos....  ;D

107
Otro ejercicio bien resuelto, a por mas....  :D

109
Buenas amigos aquí dejo una posible solución al ejercicio CU00549F del curso de programacion en lenguaje C para dummies.

Me falta el ejercicio 1 que me tiene algo liado, cuando lo tenga lo pondré.

Citar
EJERCICIO Nº 2

Estudia el siguiente código y responde a las preguntas:

Código: [Seleccionar]
#include <stdio.h>
#include <stdlib.h>
// Ejercicios curso C aprenderaprogramar.com
void stars2 (int n) {
    int i;
    for (i=1; i<=n; ++i) {
        printf ("*");
    }
    printf ("\n");
}

int main (void) {
    int a;
    a=10;
    stars2 (20);
    stars2 (a);
    stars2 (a+2);
    return (0);
}

Citar
a) ¿Cuántas funciones se declaran en este código? ¿Es main una función?

1 void stars2 (int n), no main es don de va el cuerpo del programa.

Citar
b) Explica cuántos parámetros reciben y de qué tipo son los parámetros para cada una de las funciones que existan en este código.

Un solo parametr de tipo int.

Citar
c) ¿Cuántas veces se invoca la función stars2 en el código? ¿Qué ocurre con cada una de esas invocaciones? ¿Cuál es el valor devuelto por la función stars2?

Se invoca 3 veces.
rimero aparece por pantalla una línea de 20 asteriscos, luego otra de 10 porque toma el valor de la variable a, y luego 12 porque toma el valor de la variable a + 2.
Tres líneas de asteriscos.


Citar
d) ¿Qué ocurre si escribimos stars2(0)? ¿Por qué?

Que en la primera línea desaparecen los asteriscos.
Al ponerle valor 0 la dejamos sin valor y aparecen por pantalla la línea de asteriscos.


Saludos....  ;D

110
Hola Cesar, gracias por contestar, los archivos los tengo en la misma ruta del main, y como me has dicho he pasado todos los proyectos y archivos a la carpeta de usuarios pero me siguen sin funcionar, la verdad no se que pasa, incluso he probado en la carpeta de documentos y tampoco, me lleva de cabeza, ya no se que hacer, por lo menos me has dicho que a ti te funciona bien que ya es algo.

Saludos y gracias por tu tiempo.

111
Buenas amigos aquí os dejo una posible solución al ejercicio CU00548F del curso de iniciación a la programación con C.

Citar
EJERCICIO

Estudia el código que se muestra más abajo y responde a las preguntas:

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

int check_prime(int num);

int main(){
   int n1,n2,i,flag;
   printf("Enter two numbers(intervals): ");
   scanf("%d %d",&n1, &n2);
   printf("Prime numbers between %d and %d are: ", n1, n2);
   for(i=n1+1;i<n2;++i)
   {
      flag=check_prime(i);
      if(flag==0)
         printf("%d ",i);
   }
   return 0;
}

int check_prime(int num) {
   int j,flag=0;
   for(j=2;j<=num/2;++j){
        if(num%j==0){
            flag=1;
            break;
        }
   }
   return flag; // Ejercicios aprenderaprogramar.com
}

Citar
a) Sin ejecutar el código (sólo pensando) responde: ¿para qué sirve la función check_prime? ¿Qué resultado devolverá si le pasamos el número 4? ¿Por qué?

Para mostrar una serie de números primos.
4 12 = muestra por pantalla los números primos 5 7 11.
Porque gracias a la función int check_prime, podemos saber la secuencia de números primos entre 4 y 12.


Citar
b) En dicha función se usa la siguiente definición de bucle: for(j=2;j<=num/2;++j) ¿Por qué crees que el bucle tiene un valor inicial 2? ¿Por qué crees que el bucle tiene un valor final num/2?

Porque  al no ser primo el número 1, hay que iniciar el bucle en 2 que si lo es.
Para dividir num por 2 y sacar los números primos.


Citar
c) ¿La variable flag que se usa en el main es la misma que se usa en la función check_prime? ¿Es posible declarar y usar dos variables con el mismo nombre en la función main? ¿Y declarar y usar dos variables con el mismo nombre en la función main y otra función? ¿Por qué?.

No.
Si.
Porque en la función main la pondríamos como variable global y en la otra función como variable local.


Citar
d) Crea una tabla de variables del programa que conste de las siguientes columnas: nombre de variable, ámbito, utilidad. Por ejemplo la variable i tiene nombre de variable i, ámbito la función main, y utilidad servir como índice en el bucle for del main.

i tiene nombre variable i, ámbito la función main, y utilidad de servir como índice en el bucle for del main.
n1 tiene nombre variable n1, ámbito la función main, y utilidad entrada de número por el usuario.
n2 tiene nombre variable n2, ámbito la función main, y utilidad entrada de número por el usuario.
flag tiene nombre variable flag, ámbito la función main, y utilidad es una bandera o "algo" que te indica el estado de X variable, proceso, flujo... lo que sea que te diga como esta el estado de algo del main.

Función int check_prime(int num):

j tiene nombre variable j, ámbito la función int check_prime(int num) , y utilidad de servir como índice en el bucle for del  int check_prime(int num).
flag tiene nombre variable flag, ámbito la función int check_prime(int num), y utilidad es una bandera o "algo" que te indica el estado de X variable, proceso, flujo... lo que sea que te diga como esta el estado de algo del int check_prime(int num).


Citar
e) Si se introducen como números 11 y 30 ¿Son evaluados 11 y 30? ¿Qué resultado se obtiene? ¿Por qué?

Si.
13 17 19 23 29.
 

112
Buenas aquí dejo una posible solución al ejercicio CU00547F del tutorial de programación en lenguaje C desde cero.

Citar
EJERCICIO

Estudia el siguiente código:

Código: [Seleccionar]
#include <stdio.h>
#include <stdlib.h>
int max(int num1, int num2);
 
int main () {
   int a = 100;
   int b = 200;
   int ret;
   ret = max(a, b);
   printf( "Max value is : %d\n", ret );
   return 0;
}
 
int max(int num1, int num2) {
   int result;
   if (num1 > num2)
      result = num1;
   else
      result = num2;
   return result; //Ejercicios aprenderaprogramar.com
}

Citar
a) Sin ejecutar el código (sólo pensando) responde: ¿para qué sirve la función max? ¿cuál será el resultado del programa?

Este programa sirve para saber cual de los dos números es mayor.

Max value is: 200 


Citar
b) ¿En qué línea se produce la llamada a la función max? ¿Qué valor se almacenará en la variable ret y por qué?

ret=max(a,b);
200 que es el resultado que retorna la función max.


Citar
c) Reescribe el código de modo que todos los if lleven corchetes delimitadores { … } tanto para los if como para los else.

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

int max(int num1, int num2);

int main()
{
    int a = 100;
    int b = 200;
    int ret;
    ret = max(a, b);
    printf( "Max value is : %d\n", ret );
    return 0;
}

int max(int num1, int num2)
{
    int result;
    if (num1 > num2)
    {
        result = num1;
    }
    else
    {
        result = num2;
    }
    return result;
}

Citar
d) Crea un programa análogo a este con una función que permita determinar, dados tres números, cuál es el mayor. Invoca la función pasándole como datos 23, 87, 45 y muestra el resultado devuelto por la función por pantalla

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

int max(int num1, int num2, int num3);

int main()
{
    int a = 23;
    int b = 87;
    int c = 45;
    int ret;
    ret = max(a, b, c);
    printf( "Max value is : %d\n", ret );
    return 0;
}

int max(int num1, int num2, int num3)
{
    int result;
    if (num1 > num2 && num1 >  num3)
    {
        result = num1;
    }
    else if (num2 > num1 && num2 > num3)
    {
        result = num2;
    }
    else if (num3 > num1 && num3 > num2)
    {
        result = num3;
    }
    return result;
}

Saludos.... ;D

113
Hola, dejo una posible solución al ejercicio CU00546F del tutorial de programación en lenguaje C.

Citar
EJERCICIO Nº1

Estudia el siguiente código y responde a las preguntas:

Código: [Seleccionar]
#include <stdio.h>
#include <stdlib.h>
// Curso de programación C aprenderaprogramar.com
/*  C program to demonstrate the working of goto statement. */

int main(){
   float num,average,sum;
   int i,n;
   printf("Maximum no. of inputs: ");
   scanf("%d",&n);
   for(i=1;i<=n;++i){
       printf("Enter n%d: ",i);
       scanf("%f",&num);
       if(num<0.0)
       goto jump;             /* control of the program with goto */
       sum=sum+num;
}
jump:
  average=sum/(i-1);       
  printf("Average: %.2f",average);
  return 0;
}

Citar
a) Sin ejecutar el código (sólo pensando) responde: ¿para qué sirve este programa? ¿cuál será el resultado del programa si introducimos los números 10, 5 y 2? ¿cuál será el resultado del programa si introducimos los números 10, -5 y 2?

Este programa calcula la media de n números enteros. Sumará esos tres números y el resultado lo dividirá entre tres, y mostrará el resultado por pantalla.

Que calculará la media de solo un número, en este caso el 10, y dará como resultado 10, porque el goto hace que el programa salga del for, sin que se pueda seguir introduciendo datos después de introducir un número negativo.


Citar
b) Ejecutando el código ¿cuál será el resultado del programa si introducimos los números 10, 5 y 2? ¿cuál será el resultado del programa si introducimos los números 10, -5 y 2?

Que "average = 5,67" por lo que se explica en la pregunta anterior.

Que average vale 10 por lo que se explica en la pregunta anterior.


Citar
c) ¿Qué signficado tiene ++i en el contexto de este programa?

Al igual que si usamos i++, se incrementa 1 a i.

Citar
d) ¿Es equivalente escribir      if( num<0.0) goto jump;      y      if( num < 0.0) { goto jump; }  ?

si

Citar
e) Haz que el código ofrezca los mismos resultados evitando el uso de goto.

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

int main()
{
    float num,average,sum;
    int i,n;
    printf("Maximum no. of inputs: ");
    scanf("%d",&n);
    for(i=1; i<=n; ++i)
    {
        printf("Enter n%d: ",i);
        scanf("%f",&num);
        if(num == 0 || num > 0)
        {
            sum=sum+num;
        }
    }
    average=sum/(i-1);
    printf("Average: %.2f",average);
    return 0;
}


Citar
EJERCICIO Nº2

Estudia el siguiente código y responde a las preguntas:

Código: [Seleccionar]
#include <stdio.h>
#include <stdlib.h>
// Curso de programación C aprenderaprogramar.com
/*  C program to demonstrate the working of goto statement. */

int main() {
   int age;
   Vote:
     printf("you are eligible for voting");

   NoVote:
     printf("you are not eligible to vote");

   printf("Enter you age:");
   scanf("%d", &age);
   if(age>=18)
        goto Vote;
   else
        goto NoVote;

   return 0;
}

Citar
a) Sin ejecutar el código (sólo pensando) responde: ¿para qué sirve este programa? ¿cuál será el resultado del programa si introducimos el número 22?

Para comprobar si se tiene la mayoría de edad para votar.
se imprimirá los tres print por pantalla y preguntará otra vez lo mismo, y dependiendo  si tienes más o menos de 18, se ejecutará el primer print o el segundo, haciendo una especie de bucle infinito del cual no saldrá nunca, según está estructurado.


Citar
b) Crea otro programa equivalente (que produzca los mismos resultados) sin hacer uso de la sentencia goto

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

int main()
{
    int age;
    printf("Enter you age:");
    scanf("%d", &age);
    if(age>=18)
    {
        printf("you are eligible for voting");
    }
    else
    {
        printf("you are not eligible to vote");
    }


    return 0;
}


Saludos.  ;D





114
Buenas amigos aquí dejo las posibles respuestas al ejercicio CU00545F del curso básico de programación en C.

Citar
EJERCICIO

Estudia el siguiente código y responde a las preguntas:


Código: [Seleccionar]
#include <stdio.h>
#include <stdlib.h>
// Curso de programación C aprenderaprogramar.com

int main () {
   /* local variable definition */
   int a = 10;
   /* while loop execution */
   while( a < 20 ) {
      printf("value of a: %d\n", a);
      a++;       
      if( a > 15) {
         break;
      }   
   }
   return 0;
}

Citar
a) Sin ejecutar el código (sólo pensando) responde: ¿cuál será el resultado del programa? 

Muestra por pantalla que a vale 10, hasta que a vale 16 y luego gracias a la sentencia break  se sale del bucle while.

Citar
b) Ejecutando el código ¿cuál es el resultado del programa?

Que se muestra por pantalla que a vale 10, hata que a vale 15. Es decir cuando se ejecuta la sentencia break en el bucle las lineas anteriores no se ejecutan.

Citar
c) ¿Qué signficado tiene a++ en el contexto de este programa?

Cada vez que se ejecuta a++, se incrementa en 1 el valor que tenga a anteriormente.

Citar
d) ¿Es equivalente escribir      if( a > 15) break;      y      if( a > 15)  { break; }  ? 

si, da lo mismo.

Citar
e) Haz que el código cuente desde 10 hasta 15 sin hacer uso de break (usa sólo las condiciones naturales de un bucle while)

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

int main()
{
      /* local variable definition */
   int a = 10;
   /* while loop execution */
   while( a < 20 ) {
      printf("value of a: %d\n", a);
      a++;
      //if( a > 15)
      //   break;
      }

   return 0;
}


Saludos.  ;D

115
Aquí dejo una posible solución al ejercicio CU00542F;  he de decir que me ha costado bastante solucionarlo, me planteé el dibujo en papel y mas o menos le fui dando forma al ejercicio. 

Citar
EJERCICIO

Crear un programa que muestre en pantalla un diamante formado por asteriscos, dado un valor de número de asteriscos máximo en el punto central del diamante o rombo. Ejemplo: si el valor en el punto central es 5 el rombo sería:

Ejemplo:

*

**

***

****

*****

****

***

**

*

 

Nota: antes de crear el código hay que estudiar la lógica para proceder a crear el rombo, teniendo en cuenta que para poder mostrarlo habremos de dejar espacios en blanco a la derecha e izquierda de todas las líneas excepto la central.

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

int main()
{
    int i = 0;
    int j = 0;
    int asteriscosMaximos = 0;
    int numEspacios;
    // pedimos los asteriscos en la línea central del rombo
    printf("\n\t\tDibujaremos un diamante formado por asteriscos.\n\n"
           "\n Introduce un n%cmero mayor que 3 para ver bien el diamante.\n", 163);
    printf (" Cuantos asteriscos quieres que tenga el punto central de diamante: ");

    scanf("%d", &asteriscosMaximos);
    numEspacios = asteriscosMaximos / 2;

    if (asteriscosMaximos > 3 && !(asteriscosMaximos%2==0)) {
        for (i=1; i<=asteriscosMaximos; i++) {
            for (j=0; j<numEspacios; j++) {
                printf(" ");
            }
            for (j=0; j<(asteriscosMaximos-(numEspacios*2)); j++) {
                printf("*");
            }
            for (j=0; j<numEspacios; j++) {
                printf(" ");
            }
            printf("\n");
            if (i < ((asteriscosMaximos/2)+1)){
               numEspacios--;
            } else {
                numEspacios++;
        }
    }
    } else if(asteriscosMaximos > 3) {
        asteriscosMaximos = asteriscosMaximos+(asteriscosMaximos);
       numEspacios = asteriscosMaximos/2;
        for (i=1; i<=asteriscosMaximos; i++){
            for (j=0; j<numEspacios; j++) {
                printf(" ");
            }
            for (j=0; j<(asteriscosMaximos-(numEspacios*2)); j++) {
                if(i%2==0){
                   if(((j+numEspacios)%2)!=0){
                        printf("*");
                    } else {
                        printf(" ");
                    }
                }else {
                    if(((j+numEspacios)%2)==0){
                    printf("*");
                    } else {
                        printf(" ");
                    }
                }
            }
            for (j=0; j<numEspacios; j++) {
                printf(" ");
            }
             printf("\n");
            if (i < ((asteriscosMaximos/2)+1)){
                numEspacios--;
            } else {
                numEspacios++;
            }
        }
    } else {
        puts("\n\n\t\tEl n\xA3mero introducido no es mayor que 3.");
    }
    return 0;

}



Saludos y gracias por vuestro tiempo....  :D

116
Aquí lo dejo rectificado, no me fije en inicializar los while a cinco ya que luego se incrementa 1 con la variable i.

Dejo el código nuevo:

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

int main()
{
    int personasEntran[6];
    personasEntran[0] = 12;
    personasEntran[1] = 0;
    personasEntran[2] = 23;
    personasEntran[3] = 45;
    personasEntran[4] = 21;
    personasEntran[5] = 0;
    int i = 0;
    int totalPersonas = 0;
    int horasSinPersonas = 0;
    int mayorNumeroDePersonas = 0;
    int horaMayornumeroPersonas = 0;

    while(i <= 5)
    {
        totalPersonas += personasEntran[i];
        i=i+1;
        if(personasEntran[i] == 0)
        {
            horasSinPersonas += 1;
        }
        if(mayorNumeroDePersonas < personasEntran[i])
        {
            mayorNumeroDePersonas = personasEntran[i];
            horaMayornumeroPersonas = i +1;
        }
    }
    printf("\nEl total de personas que entraron en el banco en el d%ca de hoy fueron %d personas.\n", 161,totalPersonas);
    printf("\nEl total de horas que no entro ninguna persona en el banco fue de %d hora\\s\n",horasSinPersonas);
    while(i <= 5)
    {
        i=i+1;
        if(personasEntran[i] == 0)
        {
            printf("\n\tEn la hora %d, no hubo personas.\n", i+1);
        }
    }
    printf("\nLa hora %d, es la que tuvo el mayor n\xA3mero de personas con %d personas.\n", horaMayornumeroPersonas,mayorNumeroDePersonas);
    printf("\nEl n\xA3mero medio de personas por hora que entraron en el banco fue de %d.\n", totalPersonas/6);
    return 0;


}


Saludos y gracias por la corrección.

117
Hola, dejo una posible solución al ejercicio CU00544F del curso autoevaluable online de programación en lenguaje C.

Citar
EJERCICIO Nº 1

Estudia el siguiente código y responde a las preguntas:


Código: [Seleccionar]
#include <stdio.h>
#include <stdlib.h>
// Ejercicios aprenderaprogramar.com

int main(){
   float num,average,sum;
   int i,n;
   printf("Maximum no. of inputs\n");
   scanf("%d",&n);
   for(i=1;i<=n;++i){
       printf("Enter n%d: ",i);
       scanf("%f",&num);
       if(num<0.0)
       break;
       sum=sum+num;
}
  average=sum/(i-1);       
  printf("Average=%.2f",average);
  return 0;
}

Citar
a) ¿Para qué crees que sirve este código?

Programa que nos dice el promedio de n números.

Citar
b) Qué ocurre si introducimos como maximum no. of inputs 8 e introducimos los números 1.5, 12.5 y -1 ¿Por qué ocurre eso? ¿Qué significado tiene lo que se muestra por pantalla?

Cuando introducimos un número negativo, el program solo devuelve el resultado de la media de los numeros introducido, menos el negativo.  Esto ocurre por la línea de código:

Código: [Seleccionar]
if(num<0.0) break;
Citar
c) ¿Qué signficado tiene %.2f dentro de este programa?

Se imprime una variable tipo float con 2 decimales


Citar
EJERCICIO Nº 2

Estudia el siguiente código y responde a las preguntas:


Código: [Seleccionar]
#include <stdio.h>
#include <stdlib.h>
// Ejercicios aprenderaprogramar.com

int main(){
    int i,num,product;
    for(i=1,product=1;i<=4;++i){
        printf("Enter num%d:",i);
        scanf("%d",&num);
        if(num==0)
            continue; 
        product*=num;
}
    printf("product=%d",product);
return 0;
}

Citar
a) ¿Para qué crees que sirve este código?]

Este programa nos dice el producto de 4 números que piden al usuario.
Ejemplo.  Si introducimos 5,8,6,9,  nos devolverá 5*8*6*9. 


Citar
b) Qué ocurre si introducimos como números 3, 0, -5, 2 ¿Por qué ocurre eso? ¿Qué significado tiene lo que se muestra por pantalla?

Solo multiplica los números distintos de 0. Esto es así proeque en el if se comprueba si se introduce 0 como valor, y si es así, usamos continue para que no multiplique 0 por la variable donde hemos ido almacenando el valor de las multiplicaciones anteriores.

Citar
c) ¿Es legal escribir un if sin los corchetes { … }?


No

Citar
d) Qué ocurre si introducimos como números 0, 0, 0, 0 ¿Por qué ocurre eso? ¿Qué significado tiene lo que se muestra por pantalla?

Que el producto nos devuelve 1, porque es el valor que le hemos asignado a la variable product anteriormente.



118
Buenas tardes amigos os dejo mi propuesta al ejercicio CU00543F del tutorial de programación básica en C, a la cual no he podido ver  que funcione, porque no sé porque  no se me abren los archivos, ninguno, los que escribo con FILE* fopen "wt", se me crean pero luego no se me abren, y los que yo creo con el bloc de notas tampoco se me abren, no se porque pasa esto he estado buscando información por Internet y lo único que he encontrado es que tuvieran los permisos de lectura y escritura que por lo que he visto creo que sí los tienen activados, y no se que más hacer la verda me lleva de cabeza puesto que no puedo hacer nada que trate de archivos y asegurarme que funcione bien.

Bueno dejo el código para ver si está bien:

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

int main()
{
    char texto[50][300];
    int i = 0;

    FILE* archivo;
    archivo = fopen("miTexto.txt", "rt");

    if (archivo == NULL)
    {
        printf("\nError de apertura de archivo.\n\n");
    }
   else
    {
        printf("\nel contenido del archivo es \n\n");
        while (feof(archivo) == 0)
        {
            fgets(texto[i], 300,archivo);
            printf("\nLa l\xA1nea %d contiene: %s\n", i+1,texto[i]);
            i++;

        }
        fclose(archivo);
        return 0;
    }
}



Gracias de antemano por si alguien me puede echar una mano sobre el tema de los archivos.

Saludos....  :D

119
Ok, tienes razón esa i ya no va le de nada, ya me queda to claro, gracias por todo.

Saludos, de todas formas dejo el ejercicio retocado.

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

int main()
{
    typedef char tipoCadenas[50];
    tipoCadenas cadenas[3];
    tipoCadenas ultimacadena[3];
    int i = 0;
    int j = 0;
    int resComparacion = 0;

    for (i=0; i < 3; i++) // Se piden las 3 cadenas de texto
    {
        printf("\nIntroduzca una cadena de texto:");
        gets(cadenas[i]);
    }
    i = 0;
    while (i < 3)   //Se recuperan las dos primeras letras de cada cadena de texto y se guardan en una variable
    {

        while (j < 3)
        {

            if (j == 2)
            {
                ultimacadena[i][j]= '\0'; //después de recuperar las dos letras, introducimos el final de la cadena
            }
            else
            {
                ultimacadena[i][j] = cadenas[i][j];
            }
          j++;
        }
      j=0;
      i++;
    }

    printf("\nEl resultedo de concatenar las dos primeras letras de las cadenas es: \"%s\". \n\n",
            strcat(strcat(ultimacadena[0],ultimacadena[1]),ultimacadena[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...  ;D

120
Ok, gracias por la corrección y de otra duda que me sacas, dejo el código nuevo.

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



int main()
{
   char textoExtraido[6][50];
   int i = 0;
    FILE* fichero;
    fichero = fopen("almacen.txt", "rt");
    printf("\nLa frase extraida del archivo es:\n\t");
    for ( i = 0; i <= 5; i++)
    {

        fscanf(fichero, "%s" , &textoExtraido[i]);
        printf("%s ", textoExtraido[i]);
    }
    fclose(fichero);
    printf("\n\nProceso de lectura completado \n");
    return 0;

}


Saludos y gracias por tu tiempo y paciencia.  :D

Páginas: 1 2 3 4 5 [6] 7 8 9 10 11 ... 13

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