Jump to content
Fórum Script Brasil

Felipe Amadio

Membros
  • Content Count

    49
  • Joined

  • Last visited

Community Reputation

0 Neutro

About Felipe Amadio

  1. Cara, é bem facil isso... não vou escrever em termos de linguagem c, porque tou enferrujado e não trabalho com listas encadeadas faz tempo, mas escrevo em portugues e você traduz pra c, ok? loop passando por toda a lista declara um *p_ant, e *p_prox, que são um apontadores temporarios no primeiro elemento, você não faz nada, só armazena o valor do endereco dele em *p_ant e passa pro proximo elemento com p=p->prox nos outros elementos, armazena o valor do p->prox do elemento atual em *p_prox, o p->prox do elemento atual vira o *p_ant, e passa ao proximo elemento com p = p_prox
  2. Então, não sei exatamente se eu to falando besteira, mas enfim... eu estou precisando criar um Windows Base Application. No meu entendimento, e o que eu quero dizer com isso, seria um programa para se rodar em windows, com interfaces grafica e tudo mais, do jeito mais simples possivel! sei la, um programa que você pode criar um arquivo novo, salvar, e abrir, isso no menu dai tem algumas abas aonde você tem um botao que lhe permite adicionar informações, e tals... No meu caso, seria um programa para gerenciar modelos matemáticos, e cada uma dessas abas que eu disse seria responsável por gerenc
  3. Bom, o problemas está nessa parte... não sei se você entendeu o conceito, mas vou mostrar aonde tão os erros: no "laço 1" falta a abertura de chaves do primeiro for! do jeito que está, dentro do primeiro for só tem o comando "nulo = 1" e o outro for não está dentro dele! então está eminentemente errado, tem que arrumar e colocar as chaves de abertura e fechamento E depois, está certo, o laco 2 está perfeito! é só arrumar a posição das chaves do primeiro laço que deve funcionar. (pra conferir, pensa na execução do programa: no primeiro laco, o primeiro for da conta de analizar todas as linhas
  4. Cara, você não pode fazer isso que voce fez! De fazer a soma das 3 primeiras linhas e das 3 primeiras colunas! Pois se a matriz tiver 2 linhas, então você está usando elementos não definidos nessa matriz! simplesmente use para "somaInicial" o valor da primeira linha, e isso já basta! as outras somas, de fato, nem estão sendo usadas no seu programa, então sugiro que você não as realize! tire todos esses for que fazem as somas dessas somainicial1, 2, 3, 4, 5! deixe só o primeiro, da "somainicial". Depois, voce não está analisando o caso das linhas! você somente verifica se todas as colunas estã
  5. Olha, isso que você colocou, "A" tipo não existe! Pelo que eu entendi, linha nula seria ter todos os elementos da linha nulos, e "A" tipo... sei la, não faz muito sentido! Sugiro, a titulo de curiosidade, que você faca um printf("%d", A[i]); só pra ver o que aparece! não sei dizer o que isso significa, mas não é o que voce estava querendo dizer! A ideia que eu sugiro aqui, é a mesma que eu coloquei ali no seu outro post. Vou postar um "codigo" explicado em linguagem normal, não em c. For (percorrendo todas linhas) { nulo = 1 // variavel indicadora de passagem que indica, a princip
  6. Cara, tem alguns problemas ai que eu já identifiquei... Eu não conhecia o operando "+=", mas, pelo que eu percebi, seria isso: "a = a + b " é igual a " a += b", certo? se for isso, acho que ta errada a utilização do +=... !! E... nesse caso, percebe, você ta percorrendo a matriz INTEIRA, e armazenando tanto em "somaLinhas" como em "somaColunas" o valor de todos os elementos da matriz somados! e não é isso que você tem que fazer! Como TODAS as somas de linhas tem que ser iguais, eu sugeriria algo assim, com "magico" sendo uma variavel indicadora de passagem. O pensamento é partir do pri
  7. google -> "c ocultar janela" -> http://scriptbrasil.com.br/forum/index.php?showtopic=130707
  8. Humm... entendi... é, a calculadora do windows arredonda, né... então acho que não vai ser util pra essa sua finalidade! Meu... tenta ver outras linguagens... eu só programo em c, e tenho quase certeza de que não dá, não! da uma buscada nos outros foruns... enfim, é isso ae...
  9. Cara, essas duvidas foi você realmente quem redigiu? Sendo iniciante em programação? Enfim, você não pensou nada no problema? não definiu nada? Po, aposto que muitos que vão ler este tópicos terão varias ideias, mas o principal é você tê-las! Não acho justo e nem acho que faça sentido você colocar um problema, não abordar nenhuma solução pra ele, e ficar esperando! Eu tenho sim algumas ideias de como realizar isso, mas acho que quem tem que ter as ideias é voce! Então, eu vou dar algumas ideias. Voce deve ter uma estrutura que represente cada posição, e vai retirando e adicionando eleme
  10. Cara, não, isso daí é bizarro demais! hehehehehehehe Não sei dizer exatamente até onde vai uma variavel "unsigned long int", que acho que seria a maior variável de todas, mas com 1 bilhão de numeros, é bem claro que c não chega lá! O VALOR de um long int chega ai na casa de alguns bilhões, mas é o valor! e não um bilhao de numeros!! Eu fiz pela calculadora do windows, na vigésima interação, cheguei ao seguinte valor: 6,7411401254990734022690651047042 * 10^315652 ! Pra fazer qualquer iteração acima disso, a calculadora do windows ta demorando alguns minutos...! se eu chegar além disso, e
  11. Agora copiei o codigo e, pela primeira vez, rodei ele! heheheheheh A coisa é o seguinte, voce precisa zerar as variaveis cada vez que você termina de achar um decimal! A variavel "aux" você ta zerando logo antes do loop que usa ela... a variavel temp, não!!! o loop 2 e o 3 usam a variavel temp, então, ou no final do loop dos decimais, ou logo antes do loop 2, coloque um temp = 0; isso funciona! (estranho é que ele não ta parando quando o resto vale 0! sempre quando chega na 10a casa decimal! mas enfim, isso não é realmente um problema! é só falar que o seu programa tem uma precis
  12. Então, as atualizações que eu fiz ali são justamente pra dar conta! essas são as contas que cada loop deve fazer, no caso de 1 / 8: loop1: 1/8 = 0 loop2: 0*8 = 0 loop3: 1%8 = 1 loop4: 10*1 = 10 loop5: 10/8 = 1 loop2: 1*8 = 8 (esse 1, que muda sempre, é decimal achado anteriormente! no caso, é o seu c) loop3: 10%8 = 2 (esse 10 é o resto da divisao anterior, multiplicado por 10! no seu programa, é o aux) loop4: 10*2 = 20 loop5: 20/8 = 2 daí, por isso eu citei as seguinte atualizações: inteiro = c; n1 = aux; tendeu?
  13. Vamos la, de novo! O intuito, agora, é a criação de um loop pra ir realizando um decimal após o outro, até que o resto da divisão seja zero, e daí terminamos o numero! Bom, vamos lá: Loop1: acha a parte inteira LOOP GRANDE (está faltando): esse loop vai achar todos os decimais! nele voce coloca como condição pra ele parar quando o ultimo resto for zero! ou então pra ele parar depois de rodar 10 vezes, ou algo assim. Pois, no caso de uma dizima, ele não vai parar nunca, e isso não é desejado! então coloca algo tipo uma variavel de controle, ou um numero maximo de iteracoes dentro do loop
  14. vou responder no seu código, mais ou menos, ta? só pra começar, de novo, você não substituiu os %i por %d! isso pode ser essencial! substitua! inteiros são lidos e escritos com %d, e não com %i !!
  15. pra começar, você deve usar %d para inteiros, e não %i! não sei nem como isso rodou! depois, na impressão, você ta imprimindo printf("Resultado: %i,%i",cont); você ta imprimendo antes da virgula o cont, e depois da virgula algo não definido! repare! você colocou dois %i e somente uma variavel! logo, o proprio computador ta "escolhendo" qual variavel imprimir, e parece que no seu caso, ele imprimiu primeiro cont, que valia 1, depois a virgula, que ta ali expressa no seu printf, e depois um numero aleatorio, que deve ter sido o 5118880!!
×
×
  • Create New...