Kant 0 Denunciar post Postado Junho 19, 2010 #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { int vet1[6],cont,cont1,par,qtdp,impar,qtdi; printf("Digite cinco numeros:\n"); for(cont=0;cont<=5;cont++) {//for scanf("%d",&vet1[cont]); }//fechou o for for(cont1=0;cont1<=5;cont1++){//for cont1=0; if(vet1[cont1]%2==0){//se par=vet1[cont1]; qtdp=cont1++; } else{ impar=vet1[cont]; qtdi=cont1++; } } printf("Os numeros pares são:"); for(cont=0;cont<=qtdp;cont++){ printf("%d",par); } printf("Os numeros impares são:"); for(cont=0;cont<=qtdi;cont++){ printf("%d",impar); } printf("\n"); system("PAUSE"); return 0; } Roda, mas não mostra os numeros pares nem impares... queria uma ajuda. Compartilhar este post Link para o post Compartilhar em outros sites
falcao544 11 Denunciar post Postado Junho 19, 2010 #include<stdio.h> #include<stdlib.h> main() { int nums[4], ct, par[4], impar[4]; printf("Digite cinco numeros: "); scanf("%d", nums); ct=0; while(ct<=4){ if(nums[ct]%2==0){ par[ct]=nums[ct]; else{ impar[ct]=nums[ct]; } for(ct=0; ct<=4; ct++){ printf("Os numeros Pares sao: %d\n", par[ct]); printf("\nOs numeros Impares sao: %d\n", impar[ct]); } system("pause"); return 0; } Compartilhar este post Link para o post Compartilhar em outros sites
Fernando_ 0 Denunciar post Postado Junho 19, 2010 Seu laço for está errado, pois o cont1 recebe um numero, depois recebe 0 for(cont1=0;cont1<=5;cont1++) {//for cont1=0; if(vet1[cont1]%2==0) {//se par=vet1[cont1]; qtdp=cont1++; } else { impar=vet1[cont]; qtdi=cont1++; } } Suas variáveis par e impar deveriam ser um vetor de inteiro, não uma variável simples. qntp e qnti também estão errados, pois voce colocou isso: qtdp = cont1++, qtdi = cont1++, ou seja, vai adicionar 1 ao cont1 e depois adicionar. Se você tenta mostrar uma variavel simples num for, sempre vai mostrar o mesmo valor. Entre outros erros. Código certo: #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { int vet1[5], cont, cont1, par[5], qtdp=0, impar[5], qtdi=0, i=0, p=0, temp=0; for(int y=0; y<5; y++) { vet1[y] = 0; par[y] = 0; impar[y] = 0; } printf("Digite cinco numeros:\n"); for(cont=0; cont<5; cont++) {//for scanf("%d", &vet1[cont]); }//fechou o for for(cont1=0; cont1<5; cont1++) {//for temp = vet1[cont1]; if(temp%2 == 0) {//se par[p]=temp; qtdp++; p++; } else if(temp%2 != 0) { impar[i]=temp; qtdi++; i++; } } printf("Os numeros pares sao\n"); for(cont=0; cont<qtdp; cont++) { printf("%d\n", par[cont]); } printf("Os numeros impares sao\n"); for(cont=0; cont<qtdi; cont++) { printf("%d\n",impar[cont]); } printf("\n"); system("PAUSE"); return(0); } Compartilhar este post Link para o post Compartilhar em outros sites
João Batista Neto 448 Denunciar post Postado Junho 19, 2010 http://forum.imasters.com.br/index.php?/topic/399274-error-intint-for-array-subscript/ Compartilhar este post Link para o post Compartilhar em outros sites
Kant 0 Denunciar post Postado Junho 20, 2010 Obrigado pela ajuda, eu entendi agora os erros. Descobri que o segredo do vetor é na verdade saber lidar com os contadores. Sou iniciante em linguagem c, que não é uma linguagem nada fácil na minha opinião. Compartilhar este post Link para o post Compartilhar em outros sites
falcao544 11 Denunciar post Postado Junho 20, 2010 Eu acho todas as linguagens faceis! Basta você se dedicar! Eu mesmo aprendi PHP por mim msm em 1 mês! Agora to vendo Java! Compartilhar este post Link para o post Compartilhar em outros sites
Fernando_ 0 Denunciar post Postado Junho 20, 2010 É complicada mesmo Kant, principalmente pra projetos grandes, mas continua estudando, logo logo você domina. Compartilhar este post Link para o post Compartilhar em outros sites