Ayuda con 2 problemas en C

Iniciado por arnoldo_17, 27 Abril 2012, 23:24 PM

0 Miembros y 1 Visitante están viendo este tema.

arnoldo_17

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


Beakman

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í:

// ingresar valores de base y altura
for( short a = 0; a < altura; a++ ){
for( short b = 0; b < base; b++ ){
if( a == 0 || a == altura-1 ) printf("$");
else if( b == 0 || b == base-1 ) printf("$");
else printf(" "); // muestra un espacio
}
printf( "\n" );
}





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:
printf("Cuantos numeros va ingresar: \n");
scanf( "%f",&cantidad );

printf("Ingrese sus numeros: \n");
scanf( "%f", &numero );

minimo = maximo = media = numero;
contador = 1;

for( int a = 1; a < cantidad; a++ ){ // el primer numero ya se ingreso
scanf( "%f", &numero );
media += numero;
contador++;
if( numero < minimo ) // nuevo minimo
if( numero > maximo ) // nuevo maximo
}


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

arnoldo_17

OK, muchas gracias por tu ayuda  ;D