Ir para conteúdo
Fórum Script Brasil

martinelliglster

Membros
  • Total de itens

    8
  • Registro em

  • Última visita

Sobre martinelliglster

martinelliglster's Achievements

0

Reputação

  1. A sua dúvida é como fazer a troca de posição. É assim for(i=0;vetc[i]!='';i++) { for(j=i;vetc[j]!='';j++) { if(vetc[i]>vetc[j]) { aux=vetc[i]; vetc[i]=vetc[j]; vetc[j]=aux; } } } Se foi essa a dúvida... tah aew! Explicando melhor. Assim... o Vetor C não foi iniciado, porém ele já tem um tamanho pré determinado.... ele começa com um valor lixo... qualquer caracter em cada posição. então... quando você declara o vetor C deve dizer o que ele contem, pra depois adicionar os outros dois. Nesta caso ele tem que ser vazio. você faz isso dessa forma: #include<stdio.h> #include<conio.h> #include<string.h> main() { char vet[20]=""; getch(); } Depois você tem que preencher os vetores A e B. Vou preenchê-los do jeito que falei no exemplo do A #include<stdio.h> #include<conio.h> #include<string.h> main() { char veta[10], vetb[10], vet[5]=""; printf("Digite os valores do vetor A:\n"); fflush(stdin); \\ Esse comando zera o buffer do teclado gets(veta); \\ esse tem a mesma função do scanf, ele armazena os valores digitados na variavel. printf("Digite os valores do vetor B:\n"); fflush(stdin); gets(vetb); getch(); } Depois de feito o "zeramento" do vetor C, você copia o vetor A nele. Para isso, você faz assim: #include<stdio.h> #include<conio.h> #include<string.h> main() { char veta[10], vetb[10], vet[5]=""; printf("Digite os valores do vetor A:\n"); fflush(stdin); gets(veta); printf("Digite os valores do vetor B:\n"); fflush(stdin); gets(vetb); strcpy(vetc,veta); \\este comando "strcpy" copia o valor da string "2" (veta) na string "1" (vetc) getch(); } Com isso, depois ter copiado o valor do vetor A em C, você deve adicinar o vetor B em C. #include<stdio.h> #include<conio.h> #include<string.h> main() { char veta[10], vetb[10], vet[5]=""; printf("Digite os valores do vetor A:\n"); fflush(stdin); gets(veta); printf("Digite os valores do vetor B:\n"); fflush(stdin); gets(vetb); strcpy(vetc,veta); strcat(vetc,vetb); \\ Este comando "strcat" copia a string "2" (vetb) no final da string "1" (vetc) getch(); } Depois que foi feito isso... é só aplicar o método bolha no vetor C, para organizar seus caracteres de em ordem crescente. #include<stdio.h> #include<conio.h> #include<string.h> main() { char veta[10], vetb[10], vet[5]=""; int i, j, aux; printf("Digite os valores do vetor A:\n"); fflush(stdin); gets(veta); printf("Digite os valores do vetor B:\n"); fflush(stdin); gets(vetb); strcpy(vetc,veta); strcat(vetc,vetb); for(i=0;vetc[i]!='';i++) \\ Aki... colocamos a condição "vetc[i]!=''" (vetc [na posição i] diferente de 'vazio') { for(j=i;vetc[j]!='';j++) { if(vetc[i]>vetc[j]) { aux=vetc[i]; vetc[i]=vetc[j]; vetc[j]=aux; } } } getch(); } Por fim... é só exibir os vetores. #include<stdio.h> #include<conio.h> #include<string.h> main() { char veta[10], vetb[10], vet[5]=""; int i, j, aux; printf("Digite os valores do vetor A:\n"); fflush(stdin); gets(veta); printf("Digite os valores do vetor B:\n"); fflush(stdin); gets(vetb); strcpy(vetc,veta); strcat(vetc,vetb); for(i=0;vetc[i]!='';i++) { for(j=i;vetc[j]!='';j++) { if(vetc[i]>vetc[j]) { aux=vetc[i]; vetc[i]=vetc[j]; vetc[j]=aux; } } } printf("\nA \n%s \nB \n%s \nC \n%s", veta, vetb, vetc); getch(); } Acho que agora dá pra entender... Concluindo.. a sua dúvida era como fazer a troca de posição. É assim for(i=0;vetc[i]!='';i++) { for(j=i;vetc[j]!='';j++) { if(vetc[i]>vetc[j]) { aux=vetc[i]; vetc[i]=vetc[j]; vetc[j]=aux; } } } Se foi essa a dúvida... tah aew!
  2. Não entendi o que você tentou fazer aki. for (pos=0;pos<TAMc;pos++) { if (vetor_a[cont]<vetor_b[i]){ cont++; vetor_c[pos]=vetor_a[cont]; } else{ i++; vetor_c[pos]=vetor_b[i]; } }
  3. você não conseguiu compilar no Dev C++ porque esse código fiz no Turbo C, mas são só algumas pequenas alterações. #include<stdio.h> #include<conio.h> #include<string.h> main(){ char veta[10], vetb[10], vetc[20]="", aux; int i,j; printf("Digite os valores do vetor A:\n"); fflush(stdin); gets(veta); printf("Digite os valores do vetor B:\n"); fflush(stdin); gets(vetb); strcpy(vetc,veta); strcat(vetc,vetb); for(i=0;vetc[i]!='';i++) { for(j=i;vetc[j]!='';j++) { if(vetc[i]>vetc[j]) { aux=vetc[i]; vetc[i]=vetc[j]; vetc[j]=aux; } } } printf("\nA\n%s\nB\n%s\nC\n%s",veta,vetb,vetc); getch(); } Quanto ao código... tente sempre deixá-lo o mais simples possível.
  4. Bom, galera... consegui. Obrigado mesmo assim Tah aí o código pra quem queira ver. #include<stdio.h> #include<conio.h> #include<string.h> void main() { int i, j; char v[80], aux; clrscr(); prinf("Digite uma frase:\n"); fflush(stdin); gets(v); for(i=0;v[i]!='';i++) { for(j=i;v[j]!='';j++) { if(v[i]>v[j]) { aux=v[i]; v[i]=v[j]; v[j]=aux; } } } printf("%s",v); getche(); }
  5. Acho que consegui resolver o seu exercício, que também era um problema meu. #include<stdio.h> #include<conio.h> #include<string.h> void main() { char veta[10], vetb[10], vetc[20]="", aux; int i,j; clrscr(); printf("Digite os valores do vetor A:\n"); fflush(stdin); gets(veta); printf("Digite os valores do vetor B:\n"); fflush(stdin); gets(vetb); strcpy(vetc,veta); strcat(vetc,vetb); for(i=0;vetc[i]!='';i++) { for(j=i;vetc[j]!='';j++) { if(vetc[i]>vetc[j]) { aux=vetc[i]; vetc[i]=vetc[j]; vetc[j]=aux; } } } printf("\nA\n%s\nB\n%s\nC\n%s",veta,vetb,vetc); getche(); } Espero ter ajudado. :D
  6. Pera.... esse que eu passei tah errado..... num rodo... vou fazer um aquew... quando der certo, eu posto. Tipo, tenta montar somente uma estrutura de repetição (for) pra receber os valores dos 2 vetores. Exemplo: for(i=0;i<10;i++) { printf("Digite o valor do vetor A para a posição %d", i+1); \\coloco o "%d" referindo-se ao "i" pra saber em que posição scanf("%d", &veta); \\ está.Primeiro (1), depois 2.... até o 10. printf("Digite o valor do vetor B para a posição %d", i+1); scanf("%d", &vetb); }
  7. Bom, já que você não vai precisar fazer cálculos, crie os vetores como char, assim o usuário digita eles direto. Exemplo: A={0,1,2,3,4,5,6,7,8,9} "Digite os valores do vetor a: 0123456789 " Faça o mesmo pro vetor B, depois use a função, da biblioteca "<string.h>", "strcat(vetc,veta)" e "strcat(vetc,vetb)". Essa função pega o que tem no vetor A e junta no vetor C; depois pega o que tem no vetor B e junta no vetor C. Depois você ordena por bubble sort.
  8. E aew galera: beleza?! Então, eu estou com uma dúvida cruel com relação a Ordenação de um Vetor de Caracteres (String). Já li em fóruns, tutoriais, apostilas, e não consegui tirar minha dúvida. Eis o programa que fiz, que em vez de ordenar de forma crescente, ordena de forma decrescente. #include<stdio.h> #include<conio.h> #include<string.h> void main() { int i, j; char v[80], aux; clrscr(); prinf("Digite uma frase:\n"); fflush(stdin); gets(v); for(i=0;v[i]!='';i++) { for(j=0;v[j]!='';j++) { if(v[j]<v[j+1]) { aux=v[j+1]; v[j+1]=v[j]; v[j]=aux; } } } printf("%s",v); getche(); } Será que alguém pode me ajudar? Grato desde já.
×
×
  • Criar Novo...