TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

Elabore um Algoritmo em C Que Leia Um Vetor de 20 Posições

Por:   •  14/9/2019  •  Trabalho acadêmico  •  1.838 Palavras (8 Páginas)  •  485 Visualizações

Página 1 de 8

[pic 1]

Universidade Bandeirante

Nota

Campus:

ABC

Turma:

AS02A.3

Grupo:

Disciplina:

Alg. e Estr. de Dados

Data da Entrega:

09/05/06

Número da Atividade:

Trabalho 1.semestre

Nome completo e sem abreviações (Em ordem de número de chamada)

RA

Número de Chamada

1

Carmem Lucia Loureiro

005734355

16

2

Ednaldo Lucena

005146984

25

3

Regiane Milard Dias

005929210

60

4

Roberta Alves de Oliveira

005734592

65

5

Rosemary dos Santos Alves

005198305

72

6

Wanderson Matias Queiros

005958512

79

Questão 1:

(2 pontos) Elabore um algoritmo em C que leia um vetor de 20 posições, para números reais. Verifique se está ordenado, se estiver apenas exiba-o, senão ordene-o e em seguida exiba-o.

Solução / Resposta:

# include

# include

int main ()

{    

 //Declaração de variáveis

 float vet_c[20],aux;

   int tam,i,j;

  char ordem='N';

   tam=20;

   

 for(i=0; i<(tam); i++)

   {

     printf("Digite o valor para a posicao [%d]: ",i);

     scanf("%f",&vet_c[i]);

   }

   

 //Verifica se esta em ordem

 for(i=0; i<(tam-1); i++)

     if (vet_c[i] > vet_c[i+1])

         ordem='S';

 

 //Ordena o vetor (método bolha)

 if (ordem='S')

 for(i=0; i<(tam-1); i++)

   for(j=0; j<(tam-1-i); j++)

     if (vet_c[j] > vet_c[j+1])

     {

      aux=vet_c[j];

      vet_c[j]=vet_c[j+1];

      vet_c[j+1]=aux;

     }

 //Exibe o vetor

 printf("Matriz C \n");

 printf("\n");

 for(i=0; i

    printf("vet_c[%d]= %f \n", i, vet_c[i]);

 printf("\n");

 system("pause");

}

Questão 2:

(3 pontos) Considere uma entrada de caracteres como o exemplo:

 

      a, b, g, c, d, c, g, d, d, a, a.

Escreva um algoritmo em C, que mostre na saída quantas vezes cada elemento comparece na entrada. No exemplo: a – 3 vezes; b – 1 vez; g – 2 vezes; c – duas vezes; d -  3 vezes.

Solução / Resposta:

# include

# include

int main ()

{    

 //Declaração de variáveis

  char string[200];

  int tam,i,j,cont;

  char aux[1];

  tam=0;

  aux[0]='S';

  i=0;

 

  while (aux[0]!=' ')

   {

     printf("Digite um caracter, (espaco para encerrar): ");

     gets (aux);

     string[i]=aux[0];

     if (aux[0]==' ')

       break;

     string[i]=aux[0];

     i++;

     tam++;

     printf("\n");

   }

  for(i=0; i<=tam; i++)

     for(j=0; j<(tam-i); j++)

        if (string[j] > string[j+1])

         {

          aux[0]=string[j];

          string[j]=string[j+1];

          string[j+1]=aux[0];

         }

  //Exibe o resultado

  printf("RESULTADOS \n");

  printf("\n");

  for(i=1; i<=tam; i++)

   {

    cont++;

    if (string[i]!=string[i+1])

      {

       printf("[%c]= %d \n", string[i],cont);

       cont=0;

      }

   }

  printf("\n");

  system("pause");

}  

Questão 3:

(2 pontos) Desenvolva um algoritmo que leia um vetor de valores inteiros, com 10 posições, solicite ao usuário um número a ser pesquisado, faça a busca pelo método da pesquisa binária, exiba na tela o índice, onde está armazenado o valor. Caso não encontre nenhum valor, exiba uma mensagem coerente.

Solução / Resposta:

#include

#include

#define tam 10

int main()

{

  int  v[tam];

  int  inicial,final,central,n,i;

  char encontrou;

  inicial=0;

  final=tam-1;

  for (i=0;i<10;i++)

  {

    printf("Digite o valor para a posicao %d: ",i);

    scanf("%d",&v[i]);

  }

  printf("Digite o valor a ser pesquisado: ",n);

  scanf("%d",&n);

   

  while (inicial<=final)

    {

      central=((inicial+final)/2);

      if (n==v[central])

      {

        printf("v[%d]=%d",central,v[central]);

        encontrou='S';

        break;

      }

      if (n>v[central])

        inicial=central+1;

      else

        final=central-1;

    }

     if (encontrou!='S')

        printf("Numero infornmado nao encontrado! \n");

     else

        printf("\n");

     printf("Pressione uma Tecla! \n");

     system("pause>null");

}

Questão 4:

4 – (2 pontos) Considere a matriz triangular superior e escreva um algoritmo que transfira todos os valores contidos dentro do triângulo, para um vetor apropriadamente declarado.

[pic 2][pic 3][pic 4]

[pic 5][pic 6]

Solução / Resposta:

#include

#include

int main()

{

  int  matriz[4][4]={3,10,7,3,0,1,8,2,0,0,6,1,0,0,0,9};

  int  vetor[10];

  int  i,j,k;

  k=0;

   

  for (i=0;i<4;i++)

   for (j=0;j<4;j++)

       if(i<=j)

        {

         vetor[k]=matriz[i][j];

         k++;

        }

  //Mostra vetor

  for (i=0;i<10;i++)

    printf("[%d]= %d \n",i,vetor[i]);

    printf("\n");

    system("pause");

}

Questão 5:

(1 ponto) Elabore uma função recursiva que retorne qualquer termo da seqüência:

1  3  6  10 ... .

Solução / Resposta:

                                                                                                                            printf("\n");

#include                                                                                               printf("Resultado da sequecia e: %d \n",func_rec(k));                                                                                                                                    

#include                                                                                              printf("\n");

                                                                                                                            system("pause");

/// Função Recursiva                                                                                                                            

int func_rec(int k)                                                                                              }

{

 if (k==0)                                                                                      

   return 1;

 else

   return (k+(func_rec(k-1)));

}

/// Função Principal

int main()

{

  int k;

 

  printf("Digite o valor para a sequencia: ");

  scanf ("%d",&k);

   

...

Baixar como (para membros premium)  txt (6.2 Kb)   pdf (118.7 Kb)   docx (28.7 Kb)  
Continuar por mais 7 páginas »
Disponível apenas no TrabalhosGratuitos.com