Soluções da aula prática 11



1.
/* Dobrar Capital */

void main()
{
  float cap, juros;
  int ano;

  printf("Taxa de juros (%): ");
  scanf("%d", &juros);
  ano = 0;
  cap = 1;
  do
   {
    cap = cap + cap*(juros/100.0);
    ano++;
   }
  while(cap<2.0);
  printf("numero de anos: %d\n", ano);
end.



2.
/* Ordenar1000 */

#define N 1000

void main()
{
   float ra[N];
   int i, j;
   float min;
   int jmin;
   float temp;

  for (i=0; i<N; i++)
    ra[i] = rand();
  for (i=0; i<N-1; i++)
    {
      min = 2.0; /* com certeza maior que numero maximo do array */
      jmin = i;
        /* procura minimo no resto do array: */
      for (j=i; j<N; j++)
        if (ra[j]<min)
          {
            min = ra[j];
            jmin = j;
          }
        /* troca o numero minimo com ra[i]: */
      temp = ra[i];
      ra[i] = ra[jmin];
      ra[jmin] = temp;
    }
   /* mostrar resultado: */
  for (i=0; i<N; i++)
    printf("%d  %0.6f", i, ra[i]);
}



3.
/* Factorial */

int num, somatorio, factorial;

{
  printf("Indique um numero inteiro");
  scanf("%d", &num);
  factorial = 1;
  somatorio = 0;
  while (num>0)
    {
      factorial = factorial * num;
      somatorio = somatorio + num;
      num = num - 1;
    }
  printf("Factorial %d, Somatorio %d', factorial,
         somatorio);
}



4.
/* Distance */
#include <math.h>

typedef struct {
  float x, y, z;
} coordenate;

float VectorLength(coordenate co)
{
  return (sqrt(sqr(co.x) + sqr(co.y) + sqr(co.z));
}

void main()
{
  /* outras instrucoes */
}