Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: arnoldo_17 en 27 Abril 2012, 23:24 pm



Título: Ayuda con 2 problemas en C
Publicado por: arnoldo_17 en 27 Abril 2012, 23:24 pm
Bueno actualmente ando resolviendo 2 problemas, pero ando a medias de terminar y es que nose como hacer algunas cosas que piden.

1.- Crear un rectangulo con dimenciones dadas por el usuario.

Actualmente llevo esto.
Código:
#include <stdio.h>

int main ()
   {
   int x,y,i,contador;
   printf ("Introduzca la base y altura del rectangulo: \n");
   scanf ("%d %d",&x,&y);
   
   for(i=1;i<x;i++)
   {
   printf("$");
   }
   for(i=0;i<y;i++)
   {
   printf("$ \n");
   }

system ("pause");
return 0;
}

Solo hace linea de base y alto, pero ocupo formar un rectangulo, se me comento que dentro de "for" metiera un contador, pero no se como :/

2.- Hacer programa que lea n numeros, y obtener, cual es el mayor, menor y la media. Como pueden ver solo he logrado como obtener la media.
Código:
#include<stdio.h>

int main ()
{
  float media,contador,snum,cnum,condc,mayorn;
  printf("Cuantos numeros va ingresar: \n");
  scanf("%f",&cnum);
  printf("Ingrese sus numeros: \n");
  condc=1;
  contador=0;
  mayorn=snum;
  while (condc<=cnum)
  {
  scanf("%f",&snum);
  condc++;
  contador=contador+snum;
  }
 
  media=contador/cnum;
  printf("La media de los numeros ingresados es %.2f \n",media);

  system("pause");
  return 0;
}

Espero me puedan ayudar, espero no estar haciendo mal un tema, si es asi pido disculpas a todos de antemano.



Título: Re: Ayuda con 2 problemas en C
Publicado por: Beakman en 28 Abril 2012, 00:10 am
Para el primer programa tendrías que poner un for dentro de otro. Si querés que el rectángulo tenga un "hueco" podés hacerlo así:
Código
  1. // ingresar valores de base y altura
  2. for( short a = 0; a < altura; a++ ){
  3. for( short b = 0; b < base; b++ ){
  4. if( a == 0 || a == altura-1 ) printf("$");
  5. else if( b == 0 || b == base-1 ) printf("$");
  6. else printf(" "); // muestra un espacio
  7. }
  8. printf( "\n" );
  9. }



Para el segundo problema podés inicializar el mínimo, el máximo y la media con el primer número que ingrese el usuario:
Código
  1. printf("Cuantos numeros va ingresar: \n");
  2. scanf( "%f",&cantidad );
  3.  
  4. printf("Ingrese sus numeros: \n");
  5. scanf( "%f", &numero );
  6.  
  7. minimo = maximo = media = numero;
  8. contador = 1;
  9.  
  10. for( int a = 1; a < cantidad; a++ ){ // el primer numero ya se ingreso
  11. scanf( "%f", &numero );
  12. media += numero;
  13. contador++;
  14. if( numero < minimo ) // nuevo minimo
  15. if( numero > maximo ) // nuevo maximo
  16. }
  17.  

Y tratá de usar nombres de variables más representativas.


Título: Re: Ayuda con 2 problemas en C
Publicado por: arnoldo_17 en 28 Abril 2012, 00:25 am
OK, muchas gracias por tu ayuda  ;D