mohloko 0 Denunciar post Postado Junho 19, 2010 Olá pessoal, preciso entregar um trabalho em c ainda hoje e estou tendo bastante dificultade nisso, fiz uma pesquisa no forum e não encontrei nada relacionado, se puderem ajudar agradecço desde já! Está dando erro nas linhas 13, 17 e 24 (error invalid types 'int[int]' for array subscript) alguém pode explicar isso? #include <stdio.h> #include <stdlib.h> int main() { int n[8], multi2, dois, i, tres, multi3; dois=0; tres=0; for (i=0; i<8; i++) { printf("Digite um numero"); scanf("%d", &n[i]); if (n[i] % 2 ==0) { //erro aqui multi2[dois] = n[i]; dois++; } else if (n[i] % 3 ==0) { //erro aqui multi3[tres] = n[i]; tres++; } //erro aqui printf("Multiplo de 2\n"); for (i=0;i<dois;i++) { printf("%d\n", multi2[i]); } } } Obrigado! Compartilhar este post Link para o post Compartilhar em outros sites
João Batista Neto 448 Denunciar post Postado Junho 19, 2010 Você tem 2 problemas no seu código: 1. Você está utilizando como matriz, uma não matriz: #include <stdio.h> #include <stdlib.h> #define MAX 8 int main(){ int i, n; int multi2[ MAX ], multi3[ MAX ]; int dois = 0; int tres = 0; for ( i = 0 ; i < MAX ; ++i ){ printf( "Digite um número %d/%d: " , i + 1 , MAX ); scanf( "%d" , &n ); if ( n % 2 == 0 ) multi2[ dois++ ] = n; if ( n % 3 == 0 ) multi3[ tres++ ] = n; } } 2. Você tem um loop dentro do principal que também utiliza a variável i para iterar a matriz, você deve ou trocar a variável utilizada para iterar ou colocar o segundo loop fora do principal: #include <stdio.h> #include <stdlib.h> #define MAX 8 int main(){ int i, n; int multi2[ MAX ], multi3[ MAX ]; int dois = 0; int tres = 0; for ( i = 0 ; i < MAX ; ++i ){ printf( "Digite um número %d/%d: " , i + 1 , MAX ); scanf( "%d" , &n ); if ( n % 2 == 0 ) multi2[ dois++ ] = n; if ( n % 3 == 0 ) multi3[ tres++ ] = n; } printf( "Multiplos de 2: \n" ); for ( i = 0 ; i < dois ; ++i ) printf( "\t%d\n" , multi2[ i ] ); printf( "Multiplos de 3: \n" ); for ( i = 0 ; i < tres ; ++i ) printf( "\t%d\n" , multi3[ i ] ); } Compartilhar este post Link para o post Compartilhar em outros sites
mohloko 0 Denunciar post Postado Junho 19, 2010 Muito obrigado João pela solução! Deu pra aprender mais com seu código, que também ficou bem mais elegante! =] Vou treinar mais um pouco aqui. E pesquisar sobre esses erros. Desculpa pelo post incorreto, vou ler as regras antes de postar qualquer coisa! PS: Não conssegui editar o tópico pra colocar [Resolvido] Valeu Compartilhar este post Link para o post Compartilhar em outros sites
Mário Monteiro 179 Denunciar post Postado Junho 20, 2010 Tudo bem é que só moderadores podem alterar para resolvido Abraços Compartilhar este post Link para o post Compartilhar em outros sites