/*
* arquivo: inverte.c
* -----------------
* Este programa resolve o seguinte problema:
*
* Dados n numeros inteiros, imprimi-los na ordem inversa a da leitura.
* (Supor n < 100.)
*
*/
#include <stdio.h>
#define SIZE 100
int main()
{
int i, n, a[SIZE]; /* reservado um total de SIZE posicoes:
a[0..SIZE-1] ou seja, a[0..99] */
printf("Forneca o valor de n (total de inteiros a serem lidos):");
scanf("%d", &n);
for (i = 0; i < n; i++)
scanf("%d", &a[i]);
for (i = n - 1; i >= 0; i--)
printf("%d ", a[i]);
return 0;
}
==========================================================
/*
* arquivo: busca.c
* -----------------------------
* Este programa determina se um dado elemento y (real) ocorre num
* dado vetor x com n elementos reais. (n < 100)
*
* Ordem dos dados: y (real), n (inteiro), vetor real x com n elementos.
*/
#include <stdio.h>
#define NMAX 100
int main()
{
double y, x[NMAX];
int i, n;
printf("Forneca o elemento y procurado: ");
scanf("%lf", &y);
printf("Forneca o valor de n: ");
scanf("%d", &n);
printf("Forneca os %d doubles: ", n);
for (i = 0; i < n; i++)
scanf("%lf", &x[i]);
printf("Os elementos do vetor sao ");
for (i = 0; i < n; i++)
printf("%g ", x[i]);
printf("\n");
x[n] = y; /* sentinela */
i = 0;
while (x[i] != y)
i++;
if (i != n)
printf("O elemento %g foi encontrado.\n", y);
else
printf("O elemento %g nao foi encontrado.\n", y);
return 0;
}
================================================================
/*
* BUSCA COM SENTINELA
*
* arquivo: busca2.c
* -----------------
* Este programa determina se um dado elemento y (real) ocorre num
* dado vetor x com n elementos reais. (n < 100)
*
* Ordem dos dados: y (real), n (inteiro), vetor real x com n elementos.
*/
#include <stdio.h>
#define NMAX 100
int main()
{
double y, x[NMAX];
int i, n,
achou; /* vale 0 se nao encontrou o elemento */
/* vale 1 se encontrou o elemento */
printf("Forneca o elemento y procurado: ");
scanf("%lf", &y);
printf("Forneca o valor de n: ");
scanf("%d", &n);
printf("Forneca os %d doubles: ", n);
for (i = 0; i < n; i++)
scanf("%lf", &x[i]);
printf("Os elementos do vetor sao ");
for (i = 0; i < n; i++)
printf("%g ", x[i]);
printf("\n");
x[n] = y; /* SENTINELA */
achou = 0; /* por enquanto nao encontrou o elemento */
i = 0;
while (i < n && !achou){
if (x[i] == y) achou = 1;
i++;
}
if (achou) /* equivalente a perguntar if (achou == 1) */
printf("O elemento %g foi encontrado.\n", y);
else
printf("O elemento %g nao foi encontrado.\n", y);
return 0;
}
================================================================
Busca Binária --- será colocado em breve
================================================================
/*
* arquivo: triang_pascal.c
* -----------------
* Este programa imprime as n primeiras linhas do triangulo de Pascal,
* para um dado n (a ser lido)
*
* Abaixo indicamos as 8 primeiras linhas do triangulo de Pascal.
*
*
* 1
* 1 1
* 1 2 1
* 1 3 3 1
* 1 4 6 4 1
* 1 5 10 10 5 1
* 1 6 15 20 15 6 1
* 1 7 21 35 35 21 7 1
*
* OBS: Para n > 15 o alinhamento nao vai ficar OK.
*/
#include
#define SIZE 20
int main()
{
int i, j, n, a[SIZE];
printf("Forneca o valor de n (n<16):");
scanf("%d", &n);
for (i = 1; i <= n; i++){
a[i] = 1;
for (j = i-1; j > 1; j--)
a[j] = a[j] + a[j-1];
for (j = 1; j <= i; j++)
printf("%4d ", a[j]);
printf("\n");
}
return 0;
}
===============================================================