polska Posted May 2, 2012 at 10:04 PM Report #452827 Posted May 2, 2012 at 10:04 PM Boas pessoal, bem, eu estou a tentar ler filas de int numeros... por exemplo: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 1 0 1 0 0 0 0 1 0 0 1 0 1 1 1 1 0 1 1 0 0 1 0 0 Cada numero de uma fila e guardado numa coluna de uma matriz, mas á problema, eu leio os numeros assim : scanf("%d",m[N][M]); Ou seja, eu escrevo 0, o 0 é guardado na matriz e é suposto o ciclo for continuar para eu ler o próximo, o problema é que quando dou espaço, a posição do for continua a mesma e eu posso ler os numeros que quiser que apenas o 0 ficou guardado... Eu precisava mesmo que eles ficassem cada um guardado na sua posição, mas tem de ser lidos assim em fila.. eu podia fazer scanf("%d %d %d").. o problema é que o numero de numero que tenho de ler numa fila é variado, por isso não posso fazer dessa maneira ;x if(M<50 && M>=5 && N<50 && N>=5){ for(int i=0;i<N;i++){ for(int j=0;j<M;j++){ scanf("%d",area[N][M]); } } } Corrige um sábio e ele mais sábio ficará. Corrige um ignorante e um inimigo ganharás.
pikax Posted May 2, 2012 at 10:17 PM Report #452830 Posted May 2, 2012 at 10:17 PM tens 2 erros: tas a usar o N e o M no array de area, em vez do i e do j. nao tens o & antes de area. Antes que o pmg te diga alguma coisa 🙂 o teu codigo e' C++!!!! Por muito mais que que estude só aprendo uma coisa, que ainda tenho muita coisa para aprender. A beleza de um código está em decompor problemas complexos em pequenos blocos simples. "learn how to do it manually first, then use the wizzy tool to save time." "Kill the baby, don't be afraid of starting all over again. Fail soon, learn fast."
pmg Posted May 2, 2012 at 10:31 PM Report #452834 Posted May 2, 2012 at 10:31 PM (edited) Antes que o pmg te diga alguma coisa 🙂 o teu codigo e' C++!!!! LOL Mas é C normal. O uso de definicoes internas nos ciclos for faz parte do C desde 1999 👍 ... mas tem de ser lidos assim em fila.. eu podia fazer scanf("%d %d %d").. o problema é que o numero de numero que tenho de ler numa fila é variado, por isso não posso fazer dessa maneira ;x Usa fgets() para ler cada linha isoladamente. Depois trata cada linha com sucessivos strtol() /* NAO TESTADO */ char buf[1000]; /* espaco suficiente para qualquer linha */ size_t row = 0, col = 0; while (fgets(buf, sizeof buf, stdin)) { char *curr = buf, *next; while (curr) { int tmp = strtol(curr, &next, 10); if (next != curr) { area[row][col++] = tmp; curr = next; } else { break; } } row++; col = 0; } Edited May 14, 2012 at 09:47 AM by pmg GeSHi update What have you tried? Não respondo a dúvidas por PM A minha bola de cristal está para compor; deve ficar pronta para a semana. Torna os teus tópicos mais atractivos e legíveis usando a tag CODE para colorir o código!
pikax Posted May 2, 2012 at 10:38 PM Report #452835 Posted May 2, 2012 at 10:38 PM LOL Mas é C normal. O uso de definicoes internas nos ciclos for faz parte do C desde 1999 🙂 Agora fiquei com a duvida para qual standard e' que o meu minGW usa :S Sempre fiquei com a ideia que C deve-se declarar as variaveis logo no inicio das funcoes, pensava que so' C++ e' que suportava isso. Erro meu Por muito mais que que estude só aprendo uma coisa, que ainda tenho muita coisa para aprender. A beleza de um código está em decompor problemas complexos em pequenos blocos simples. "learn how to do it manually first, then use the wizzy tool to save time." "Kill the baby, don't be afraid of starting all over again. Fail soon, learn fast."
pmg Posted May 2, 2012 at 10:53 PM Report #452841 Posted May 2, 2012 at 10:53 PM Agora fiquei com a duvida para qual standard e' que o meu minGW usa :S Para uma primeira aproximacao experimenta printf("__STDC_VERSION__ %ld\n", __STDC_VERSION__); Se o programa compilar, quando o correres vais logo ver qual a versao usada. Se nao compilar, é porque tens C89. Se queres ter a certeza, tens de ver a documentacao do compilador. What have you tried? Não respondo a dúvidas por PM A minha bola de cristal está para compor; deve ficar pronta para a semana. Torna os teus tópicos mais atractivos e legíveis usando a tag CODE para colorir o código!
polska Posted May 3, 2012 at 07:46 PM Author Report #452959 Posted May 3, 2012 at 07:46 PM Obrigado pikax, pmg 🙂 Corrige um sábio e ele mais sábio ficará. Corrige um ignorante e um inimigo ganharás.
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now