sábado, 4 de outubro de 2014

Maior e menor número num vetor

 Neste código mostro como preencher um vetor com o total de posições pré escolhida,
fica estabelecido que o total de posições não pode exceder o que foi definido na #macro tam,
e que caracteres também são recusados pelo programa, e que após seu preenchimento correto mostra
o Maior e o Menor número introduzido no vetor de inteiros, e mostra ainda a soma do maior com o menor elemento encontrado.

Veja uma imagem do program,a em execução:


Veja abaixo o código do programa:

#include <stdio.h>
#include <conio.h>
#define tam 10
void Janela5 ( ) {
     int lin, col;
     system ( "Color 40" );
     for ( lin = 0; lin <= 36; lin++ ) {
         for ( col = 0; col <= 80; col++ ) {
              gotoxy ( col, lin );
              if ( lin == 2 ) {
                   textbackground ( LIGHTRED );
                   printf ( " " );
              }
              if ( col == 1 ) {
                   textbackground ( LIGHTRED );
                   printf ( " " );
              }
              if ( lin == 36 ) {
                   textbackground ( LIGHTRED );
              }
              if ( col == 80 ) {
                   textbackground ( LIGHTRED );
                   printf ( " " );
              }
         }
     }
     textbackground ( BLACK );
}
int main ( ) {
     system ( "title MAIOR E MENOR NÚMERO NUM VETOR" );
     int n, vet [ tam ], i, maior, menor;
     do {
         clrscr ( );
         Janela5 ( );
         textcolor ( LIGHTRED );
         gotoxy ( 26, 3 );
         printf ( "MAIOR E MENOR NÚMERO NUM VETOR " );
         textcolor ( LIGHTBLUE );
         gotoxy ( 20, 5 );
         printf ( "Quantas posições terá seu Vetor ? " );
         textcolor ( LIGHTRED );
         scanf ( "%d", &n );
         fflush ( stdin );
         textcolor ( LIGHTGREEN );
         gotoxy ( 20, 9 );
         if ( n < 0 || n > tam ) {
              printf ( "\aNúmeros acima de 0 e menor que %d ", tam );
              getche ( );
              system ( "cls" );
         }
     } while ( ( n < 0 ) || ( n > tam ) );
     for ( i = 0; i < n; i++ ) {
         textcolor ( LIGHTBLUE );
         gotoxy ( 32, 7 );
         printf ( "Insira o " );
         textcolor ( LIGHTRED );
         gotoxy ( 40, 7 );
         printf ( " %dº", i + 1 );
         textcolor ( LIGHTBLUE );
         gotoxy ( 44, 7 );
         printf ( " Número : " );
         textcolor ( LIGHTRED );
         scanf ( "%d", &vet [ i ] );
         fflush ( stdin );
     }
     textcolor ( LIGHTBLUE );
     gotoxy ( 20, 9 );
     printf ( "Veja abaixo os Números digitados" );
     gotoxy ( 20, 11 );
     textcolor ( YELLOW );
     for ( i = 0; i < n; i++ ) {
         printf ( " %d ", vet [ i ] );
     }
     getche ( );
     maior = vet [ 0 ];
     for ( i = 1; i < n; i++ ) {
         if ( vet [ i ] > maior )
              maior = vet [ i ];
     }
     textcolor ( LIGHTBLUE );
     gotoxy ( 20, 13 );
     printf ( "O maior número é ==> " );
     textcolor ( LIGHTRED );
     printf ( "%d ", maior );
     getche ( );
     menor = vet [ 0 ];
     for ( i = 1; i < n; i++ ) {
         if ( vet [ i ] < menor )
              menor = vet [ i ];
     }
     textcolor ( LIGHTBLUE );
     gotoxy ( 20, 14 );
     printf ( "O menor número é ==> " );
     textcolor ( LIGHTRED );
     printf ( "%d ", menor );
     textcolor ( LIGHTBLUE );
     gotoxy ( 20, 15 );
     printf ( "A soma dos dois Números é ==> " );
     textcolor ( LIGHTRED );
     printf ( "%d ", maior + menor );
     Sleep ( 1800 );
     textcolor ( LIGHTRED );
     gotoxy ( 35, 20 );
     printf ( "MUITO OBRIGADO" );
     getche ( );
     exit ( 0 );
     return 0;

}