segunda-feira, 1 de fevereiro de 2010

Exercícios resolvidos de vetor:

1) Dada uma sequeência de n elementos, imprimi-la em ordem inversa.
2) Dada uma sequência de n elementos, imprimi-la em ordem decrescente.
3) Dizemos que uma sequência de n elementos, com n par, se as seguintes somas são iguais:

a soma do maior elemento com o menor
a soma do segundo maior elemento com o segundo menor
a soma do terceiro maior elemento com o terceiro menor ...

ex: 2 12 3 6 16 15 é uma sequência balanceada, pois 16+2=15+3=12+6
Dados n (n par) e uma sequência de n elementos, verificar se essa sequência é balanceada.



1)

#include<stdio.h>

int main(void)
{
int vet[100],cont,n;
printf("digite o numero de termos da sequencia: ");
scanf("%d",&n);

for(cont=0; cont=0 ;cont--)
printf("%d\n",vet[cont]);

getchar();
getchar();
}

2)


#include<stdio.h>

int main(void)
{
int a[50],i,n,j,troca;
printf("digite o numero de termos da sequencia: ");
scanf("%d",&n);

for(i=0; i<=n-1 ;i++){
printf("digite um termo da sequencia: ");
scanf("%d",&a[i]);
}
for(i=0; i<=n-1 ;i++){
for(j=i+1; j<=n-1; j++){
if(a[i]>a[j]){
troca=a[j];
a[j]=a[i];
a[i]=troca;
}
}
}

for(i=0; i<=n-1 ;i++)
printf("%d",a[i]);

getchar();
getchar();
}


3)

#include<stdio.h>

int main(void)
{
int a[50],i,n,j,troca,soma,somant,k;
printf("digite o numero de termos da sequencia: ");
scanf("%d",&n);

for(i=0; i<=n-1 ;i++){
printf("digite um termo da sequencia: ");
scanf("%d",&a[i]);
}
for(i=0; i<=n-1 ;i++){
for(j=i+1; j<=n-1; j++){
if(a[i]>a[j]){
troca=a[j];
a[j]=a[i];
a[i]=troca;
}
}
}
k=n-1;
soma=a[0]+a[k];
for(i=1;i<= (n/2)-1 ;i++){
k--;
somant=a[i]+a[k];
if(soma!=somant)
i=2*n;

soma=somant;
}

if(i==2*n+1)
printf("nao eh balanceada");
else
printf("eh balanceada");

getchar();
getchar();
}


Tentem entender a lógica desses problemas, será de grande ajuda para passarmos para o próximo assunto (matriz)! Daqui a pouco eu já posto a aula de matrizes, see yah!

6 comentários:

  1. 10- Faça um programa que leia um vetor de 30 posições com as notas de 30
    alunos (valores inteiros entre 0 e 10) e desenhe um histograma horizontal
    com o número de ocorrências de cada nota. Ex.: Para o vetor (1- 0- 2- 10-
    9- 8- 6- 5- 4- 1- 2- 3- 4- 5- 6- 4- 7- 7- 8- 9- 7- 9) o histograma seria:
    0 *
    1 * *
    2 * *
    3 *
    4 * * *
    5 * *
    6 * *
    7 * * *
    8 * *
    9 * * *
    10

    Quero ver fazer este???

    ResponderExcluir
    Respostas
    1. Tentei e não consegui. Como é programação deste?

      Excluir
  2. Escreva uma função que receba um vetor e o decomponha em dois outros vetores,
    um contendo as componentes de ordem ímpar e o outro contendo as componentes de ordem
    par. Por exemplo, se o vetordado for v = {3, 5, 6, 8, 1, 4, 2, 3, 7}, o vetor deve gerar os vetores
    u = {3, 6, 1, 2, 7} e w = {5, 8, 4, 3}.

    ResponderExcluir
  3. Desenvolva um programa que permita a entrada de 10 números inteiros em um vetor.Confeccione uma lógica que faça a ordenação dos números existentes no vetor e apresente estes números ordenados.

    ResponderExcluir
  4. Este comentário foi removido pelo autor.

    ResponderExcluir
  5. Elabore um programa, em C, que leia uma frase e conte o número de vogais existentes,
    tanto maiúsculas como minúsculas.
    2.

    ResponderExcluir