Elabore um Algoritmo em C Que Leia Um Vetor de 20 Posições
Por: ANDERSON DE GODOI • 14/9/2019 • Trabalho acadêmico • 1.838 Palavras (8 Páginas) • 485 Visualizações
[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 #include 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);
|
...