Ir para conteúdo
Fórum Script Brasil

Felipe Amadio

Membros
  • Total de itens

    49
  • Registro em

  • Última visita

Tudo que Felipe Amadio postou

  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 deve funcionar!
  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 gerenciar uma etapa do desenvolvimento do modelo matemático, e voce pode abrir, salvar e criar um novo modelo matematico, criando inclusive uma extensao pra ele e tudo mais... Então, é possível fazer isso em linguagem C? se não, qual linguagem é aconselhavel...? muito obrigado (aos moderadores, caso essa pergunta esteja em lugar errado, me desculpem....)
  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, enquanto que o segundo varre as linhas por si só. Antes de varrer cada linha, voce diz que nulo = 1, e varre a linha inteira, procurando por elementos não nulos. ->if (a[j] != 0) Se depois de varrer uma linha inteira, voce não tiver encontrado nenhum elemento não nulo, voce então incrementa o contador. Eu sei que não precisa, e muita gente não usa, mas, pelo menos quando usar os for, eu sugiro colocar as chaves, sempre! pra facilitar o entendimento... mas, enfim, no laço 2 você só usou as chaves onde precisava, e está correto!)
  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ão consistentes! E voce, apesar de realizar a soma da diagonal principal e da secundaria, voce não está comparando esses valores com somaInicial! Quanto ao loop infinito, não sei dizer aonde ele ocorre! como seu programa possui poucos "for's", sugiro que voce espalhe alguns system("pause") pelo seu programa, um em cada for, pelo menos, a antes de cada system("pause") coloque um printf para o programa exibir as variaveis do critério de parada do loop! só pra entender por que não está parando...
  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 principio, que todos os elementos da linha ou coluna que eu irei analisar são nulos. 1 = sim for (percorrendo todas as colunas - aqui, alem de "j<colunas", pode ter um "j<colunas && nulo = 1") if (A[i][j] =! 0) nulo = 0 //aqui, achei um elemento não nulo, e posso parar de percorrer essa linha ( ou coluna) if (nulo==1) cont = cont + 1; //aqui, apos percorrer uma coluna inteira - nesse caso - e se nulo ainda vale 1, então toda a coluna é nula, e eu posso aumentar o contador de "elementos nulos" } for (percorrendo todas as colunas) { nulo = 1 for (percorrendo todas as linhas) if (A[i][j] =!0) nulo = 0; if (nulo ==1) cont = cont + 1; } E... acho que é isso! imagino que de pra entender... qualquer coisa, pergunta ae! abraço
  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 principio que esse é, sim, um quadrado mágico, e, caso encontrarmos alguma condição que diga o contrario, podemos parar de fazer todas as contas e dizer que o quadrado não é magico! portanto, o que eu sugeriria pro caso da "somaLinhas" (e que pra "somaColunas" seria equivalente): magico = 1; // 1 = SIM -> estou supondo que o quadrado é magico nmagico = 0; //nmagico vai ser o meu "numero magico". Vou supor que a primeira soma da primeira linha é o nmagico. Se for um quadrado magico, minha suposicao não estará errada! for(j=0; j<colunas; j++) { nmagico = nmagico + mat1[0][j]; } for (i=1; i<linhas && magico==1; i++) { somaLinhas = 0; for(j=0; j<colunas; j++) { somaLinhas = somaLinhas + mat1[i][j]; } if (nmagico != somaLinhas) magico = 0; // Aqui, descobri que o quadrado não é magico, e mudo a variavel indicadora de passagem para 0 ( 0 = não ) } Daí, a partir desse ponto, você não precisa mais do primeiro for que eu fiz, pra achar o nmagico. Caso todas as "somaLinha" sejam iguais a "nmagico", você passa pras colunas, faz a soma dos elementos das colunas, no final de cada soma compara com "nmagico", e não se esqueça de zerar "somaColunas" antes de iniciar cada soma! Depois disso, soma a diagonal principal, e... bom, pra diagonal secundaria temos um probleminha! Pra começar, e voltando um pouco, se estamos falando de quadrados, não precisamos de uma variavel "linhas" e outra "colunas", uma vez que esse numero é igual! portanto, apenas pegar um "n" para o quadrado, e usar esse numero como o numero maximo de linhas e de colunas já é o suficiente! Dai, é só percorrer a matriz toda e perguntar if (i==j) somaDP += mat1[i][j]; if(j=i-2) somaDS=+mat1[i][j]; Então, essa segunda condicao ta errada, não? a conficao certa seria if (j + i= n) // ou if (j = n-i) Não sei de onde você tirou esse "j = i-2", mas enfim, o certo seria isso daí que eu postei! E, de resto, voce pode colocar, como adendo, em todas as condições analisadas, um " && magico ==1", pois caso voce ache, em algum ponto do programa, que não é um quadrado mágico, então todas as comparações e contas podem ser deixadas de lado, e na hora de imprimir se é um quadrado magico ou não, basta perguntar "if (magico ==1)"
  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 elementos em cada estrutura, de acordo com os coomandos. Sugiro 2 coisas para voce usar como estruturas -Vetores (na verdade, como serão N vetores, então pode ser uma matriz, inicialmente de 25 x 25 posições, já que 25 é o tamnaho maximo) -Listas Encadeadas. Voce sabe o que são listas encadeadas? já ouviu falar? sabe como funciona? De uma procurada, são estruturas bem poderosas, que permitem uma manipulação muito mais "livre" do que vetores ou matrizes.
  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, eu aviso! [EDIT] Aí, 23 iteração, demorou 10 min, parei por aqui, preciso trabalhar! hahahahahha 2,0650635398358879243991194945817 * 10^1.262.611 já com 1 milhão de digitos! com 30 iterações, deve chegar na casa do trilhão!
  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ão pre-estabelecida! voce pode até pedir pro usuario digitar a precisao que ele quer, antes de tudo... dai você manda o con_decimais ir até o cont_decimais_maximo, que é o valor que o usuario entrou!
  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 grande, teremos os loops 2, 3, 4 e 5! Voce só precisa verificar e atualizar as variaveis pra ficar nesse loop de decimais sem problemas... então, ficaria algo assim: declaracoes de variavel + daclaracao de "cont_decimais" aquisição dos dados do usuario loop1 cont_decimais = 0; while(resto!=0 || cont_decimais <10) { loop2 loop3 loop4 loop5 inteiro = c; n1 = aux; cont_decimais ++; } Acho que essas são as duas atualizações necessárias pro seu programa entrar nesse loop e rodar, tudo certo! tenta ai, mas agora deve dar certo! Então, na hora de imprimir o numero, sugiro que, logo apos achar a parte inteira, você de um printf("%d,"inteiro); A partir dai, coloca no final do loop um printf("%d"c; E, a medida que ele for achando os decimais, ele vai imprimindo, e imprimindo...
  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!!
  16. Cara, usem o google! juro! é a melhor coisa do mundo! demorei 2min google -> current time c -> descobri que existe uma biblioteca que chama time.h google -> time.h -> http://pubs.opengroup.org/onlinepubs/00969...efs/time.h.html da uma olhada, ve como funciona, faz uns testes, usa as funções, descobre qual delas é mais util pra vc, e acredito que a partir dai de tudo certo!
  17. Bom, qual parte voce não sabe fazer? E, como, exatamente, voce quer que apareça a hora na tela toda do pc? com uma "text box"? ou no proprio "prompt" que aparece quando voce executa um .exe? se você quer que apareça na tela preta, já desiste... a tela preta do prompt nunca ocupa a tela inteira do computador, ela tem um tamanho maximo definido, então com ela nunca daria certo... Agora com uma caixa de texto que aparece, pode ser que seja possível, mas acho que ainda assim você esbarraria em problemas de diferentes configurações de video! uma msg box de 800 X 600 ocuparia muito bem um monitor com essa mesma configuração, mas ficaria bem pequeno em um monitor de 1024 X 768. Talvez, se é isso o que voce quer, surja um novo problema que é o de capturar, via C, a configuração atual de video que o usuario está usando, e, a partir dai, fazer uma caixa de texto com esse tamanho, e fazer a impressão do horario baseado nisso também! Sinceramente, vejo algumas dificuldades! Pra que, exatamente, voce precisa disso?
  18. como já disse, não manjo muito de compilador! Acho que você deve postar algum novo tópico pra solucionar isso... O meu costuma funcionar direto, a partir da instalação... pra você ter uma noção, eu instalei o code::Blocks, não consegui compilar, e nem tentei, desinstalei e instalei o Dev! dai consegui compilar de cara e mandei um abraço pro code::Blocks! mas, enfim, certeza que tem gente ai que sabe...! Vai em ferramentas -> opcoes de compilador. Posta num tópico as configuracoes que tão ali, roda o compilador, e escreve no tópico exatamente o que diz o erro, logo logo aparece alguém que manja pra te ajudar!
  19. É como eu disse, uma vez que você já sabe fazer % e /, é só usar o primeiro post que eu falei! é um passo pros inteiros, e mais um passo pra cada decimal, aonde o passo é: dividendo / divisor = quociente (numero que vai ser "extraído" desse passo. É o numero que você vai aproveitar de cada passo) resto da divisao do dividendo pelo divisor = resto preparacao pro proximo passo -> novo dividendo = 10* resto Com números: passo 1 1/8 = 0 1%8 = 1 novo dividendo = 10*1 = 10 passo 2 10/8 = 1 10%8 = 2 novo dividendo = 10*2 = 20 passo 3 20/8 = 2 20%8 = 4 novo dividendo = 10*4 = 40 passo 4 40/8 = 5 40%8 = 0 (FIM DO PROGRAMA!) E o resultado, tá em negrito: 0,125 Agora, com relação ao compilador, ptz... eu não manjo muito, não! Sugiro, inclusive, que você faça outro post, porque perguntar nesse acho que não vai adiantar muito
  20. Cara, da uma exemplificada melhor em qual ajuda você quer! Eu poderia te dar aqui os códigos dos programas que você falou, mas acredito que não seja esse o intúito!! Você ta comproblema na lógica da coisa? Saberia fazer isso em outra linguagem? Ou seu problema é na linguagem C? você não sabe como criar a função? Nâo sabe declarar ou trabalhar com array? Tem dificuldades para obter dados do usário e imprimir na tela?
  21. Ok, então vou explicar melhor, desculpa ai se foi muito confuso! O intúito aqui é realizar a operação %, certo? Pois então, temos o Dividendo (número a ser dividido), o Divisor (numero que divide) e o Quociente (resultado) além do resto! Dividendo e Divisor são dados. O Quociente você já achou uma forma de fazer. O problema então é achar o resto! Vamos pegar o segundo caso ali que eu citei, aonde a divisão é 20 / 8. 20 / 8, como seu método deve chegar, dá 2! Então, minha metodologia pra achar o resto da divisão, é a seguinte (supondo que o valor 2, que é o resultado da divisao, está armazenado na variavel "quociente", que "temp" é uma variavel temporaria, e nc é o numero que divide, no nosso caso, é o 8): resto = 0; temp = 0 for(i=0; i<quociente; i++) temp = temp + nc; Neste ponto, teremos em temp o numero (nc*quociente), que não é o nosso divisor! é ligeiramente menor! esse numero difere do nosso divisor pelo resto! (no nosso exemplo, de 20/8, nc vale 8, e quociente vale 2, então (nc * quociente) = 16! que é o que temos armazenado em temp) Dai, pra achar o resto: for(i=0; temp!=dividendo; i++) temp = temp + 1 Aqui, o que acontece: a cada loop, temp recebe um icremento de 1. Então, ao final de 4 loops, teremos que temp, que valia 16, agora vale 20, e nós sairemos do for! E, na variável i, teremos armazenado exatamente o número 4, que é o resto da divisão de 20 por 8!! Então, minha frase ficou bem confusa, mesmo... " você faz um loop pra ele armazenar numa variavel temporária 0 vezes o numero 8, e vai somando, num contador, de 1 em 1, até voce chegar no 1, e dessa forma você vai ter o resto da divisão de 1 por 8, que é 1!".... Deveria ser: " você faz um loop pra ele armazenar numa variavel temporária "QUOCIENTE" vezes o numero 8(DIVISOR), e vai somando, num contador, de 1 em 1, até voce chegar no "DIVIDENDO", e dessa forma você vai ter o resto da divisão de 1 por 8, que é 1!"....
  22. intendi perfeitamente o que voce quer, só não sei se isso existe! o problema ta ali, na criação de uma função que recebe um numero indeterminado de parametros... existe uma variave que chama ARGV que armazena todos os parametros passados pra uma função. (argument vector) Essa variavel é um vetor, de modo que cada parametro fica armazenada em um vetor da funcao... só não me lembro exatamente o nome da função e onde/como eu utilizei ela! da uma procurada... entra na internet e ve algo sobre esse ARGV. Se tiver algum jeito de fazer o que voce está pedindo, acredito que necessariamente vai ser usando esta variável! (EDIT: ptz, acabei de dar uma olhada, parace que o ARGV serve só para o programa main! teria que achar algo similar para funções normais... agora não sei, tem que procurar!!)
  23. Bom, ok, isso dificulta um pouco, mas a minha ideia acredito que ainda possa ser usada! no meu "programa" que eu te passei, eu uso 3 coisas: /, % e * o * é facil não usar, todas as vezes eu multipliquei por 10, então é só somar 10 vezes o mesmo numero! o / fica facil também, voce mesmo já descobriu como fazer! o nosso problema seria, então, replicar o operador %. Mas acho que você não vai ter muito problema... no seu caso, após uma divisão simples, é só fazer um loop somando r-1 vezes o valor nc (esse menos ai pode usar, né???). depois, vai somando de 1 em 1 um contador até os numeros ficarem iguais, e pronto, nesse seu contador vai estar armazenado o resto da divisão! tendo as operações por si só conhecidas, cria uma função pra cada uma delas, e é só aplicar a minha ideia! entendeu? ó, resumidão: dividir, como eu disse, você já sabe, não? então, pro nosso teste, temos, como eu disse, 1 / 8. Com a sua divisão ele vai dar esse resultado como sendo 0 (se a sua divisao estiver certa!) depois, você faz um loop pra ele armazenar numa variavel temporaria 0 vezes o numero 8, e vai somando, num contador, de 1 em 1, até voce chegar no 1, e dessa forma você vai ter o resto da divisão de 1 por 8, que é 1! então a parte dos inteiros já está feita, e começamos a parte decimal. Num loop, faça somar 10 vezes o resto da divisão (no nosso caso, seria 10 * 1, e teríamos 10) dai, com a sua propria divisão, dividiremos 10 por 8, chegando ao resultado 1. Esse vai ser o primeiro decimal!! Agora, para achar o resto da divisão: como eu disse acima, some r vezes (no caso, 1) o valor 8, e vá somando um contador até os numeros serem iguais, até voce chegar no 10! no caso, 8 + 2 = 10, então o contador vai ter o valor 2 (que é o resto da divisão de 10 por 8!!) proximo decimal, é só repetir o processo! vou falar passo a passo, mais rapido: pega o ultimo resto da divisao, que é 2, e multiplica por 10, no loop, tendo 20 divide 20 por 8 e temos o proximo decimal, que é 2!! o proximo resto da divisao: soma r vezes (que é 2) o numero 8, chegando em 16. soma de 1 em 1 um contador, até 20, e temos 4, que é o resto da divisão proximo decimal: 10* o resto da divisao, no loop, da 40 40 dividido por 8 da 5, que é o ultimo decimal! faz r vezes (no caso, 5) 8 e vai somando de um em um num contador até chegar em 40. nesse caso, o contador vale zero, e pode parar o programa! (como eu disse, isso tudo funcionará perfeitamente num caso com divisões exatas... sem considerar dizimas e numeros irracionas)
  24. Cara, pensando aqui, um jeito de você se obter os decimais é multiplicar o numero que vai ser difivido por potencias de 10! Não sei se você já vai ter a precisão pre-determinada de quantas casa você tem que ter! se for esse o caso, acho que fica facil Pra comecar, caso voce não conheça, o operador % chama "resto da divisao por". Então: 10%1 = 0 (o resto da divisão de 10 por 1 é zero) 10%8 = 2 (o resto da divisão de 10 por 8 é 2) e assim vai... Bom, fazendo um exemplinho, temos 1 / 8 = 0,125 Por exemplo, com 3 casas decimais, primeiro você divide o um numero pelo outro, normalmente. 1 / 8 = 0 1 % 8 = 1 Dai multiplica o resto da divisao por 10, e depois divide de novo pelo 8. 10/8 = 1 10%8 = 2 Dai pega, de novo, o resto da divisao, multiplica por 10 e divide de novo por 8! 20/8 = 2 20%8 = 4 Mais uma vez, o mesmo processo! 40/8 = 5 40%8 = 0 E pronto! o resultado de 10/8, 20/8 e 40/8 vai te dar os decimais.. Cara, isso, na verdade, não passa da multiplicação que a gente faz no papel, ensinada pra um computador! Para pra pensar, e faz a divisão ai na mão de 1 por 8... o processo vai ser EXATAMENTE esse: divide o numero, pega o resto, multiplica por 10 (o famoso "abaixa o zero!"), divide de novo, pega o resto, multiplica por 10, divide de novo, e assim vai... Voce pode ordenar seu programa a parar até que ele encontre um 0 no resto da divisão, no caso do numero ser exato. No caso de dízimas periódias, acredito que você tem que fazer um tratamento um pouco mais complexo.. Bom, ainda faltam alguns detalhes que você vai demorar um pouco, mas deve conseguir fazer, como, por exemplo, como "re-montar" o numero depois, com as casas decimais e tudo mais... mas, enfim, a ideia ta ai!
  25. Google -> "typedef sintaxe" -> http://www.cppreference.com/wiki/keywords/typedef
×
×
  • Criar Novo...