PeriWinkle
Membros-
Total de itens
9 -
Registro em
-
Última visita
Sobre PeriWinkle
PeriWinkle's Achievements
0
Reputação
-
Preciso de ajuda. Atraves de uma lista com o numero inteiro que representa o deslocamento do inicio de um arquivo, gostaria de usar a função seek() para imprimir todas as linhas apontadas pela lista. Porem quando uso esse comando em um for, ele não fica certo, e imprime informaçoes incorretas. Já quando faço um por vez, a informação é impressa de forma correta. alguém tem alguma sujestao?
-
Boa tarde! Se alguém souber como ou onde conseguir informações de como posso desenhar/plotar um gráfico a partir de uma série de dados usando a biblioteca gtk, por favor compartilhe nesse tópico. Preciso fazer um trabalho de faculdade e estou encontrando dificuldade nessa parte. Agradeço.
-
Uhm, verdade não tinha visto que tu tinha definido a função como void
-
Cara, acho que tu não ta ligando os ponteiro na hora de adicionar um novo nó. Tu ta chamando recursivamente, mas não esta colocando onde o retorno deve ser fixado. Por exemplo: if(Raiz->valor < valor){ Raiz->No_Dir = adiciona(Raiz->No_Dir,valor); } E a mesma coisa pro esquerdo
-
Não estou conseguindo fazer esse exercicio em C
pergunta respondeu ao Thiago Balthazar de PeriWinkle em C, C++
Se a hora inicial da partida for maior que hora final da partida, é necessário obter o tempo de horas decorridas no dia até o início da partida. Senão é só tirar a diferença entre os horários. scanf("%d", &hora_inicial); scanf("%d", &hora_final); if(hora_inicial >= hora_final){ duracao = 24 - hora_inicial + hora_final; } else{ duracao = hora_final - hora_inicial; } -
Olá Vivian! Pelo que eu entendi, você não está querendo criar uma lista como os dados dos candidatos nesse exercicio, portanto é necessário guardar apenas os dados do vencedor para apresentar no final. do{ //Leitura dos dados printf ("Informe o codigo de inscricao: "); scanf ("%d",&codigoInscricao); printf ("Informe a nota do candidato em numero inteiro nessa escala [0 a 10]:"); scanf ("%d", ¬a); fflush (stdin); //mudança de variável de controle de laço printf ("Deseja inserir mais um candidato? \n"); printf ("[tecle s ou n para continuar]: "); scanf ("%c", &tecla); printf("\n"); }while (tecla == 's' || tecla == 'n'); Acho que não é necessário limpar o buff nessa situação Seu laço deve permanecer ativo apenas quando a tecla s for digitada ou seja while(tecla == 's') Outro ponto interessante é que você pode fazer as comparaçoes dentro deste mesmo laço, pois veja: Ao ler uma nota e uma inscrição você verifica se e nota é maior que a notaVencedor fazendo o seguinte teste: if (nota>notaVencedor){ notaVencedor = nota; codigoVencedor = codigoInscricao; } Depois é só fazer o teste: if (notaVencedor == -1){ printf ("Não houve vencedor."); else printf("O codigo vencedor %d e sua nota é %d: " ,codigoVencedor, notaVencedor); Espero ter ajudado!
-
Ao invés de fazer todos esses if's, tu poderia fazer dois laços for do tipo: for(i=-1; i<=1; i++) { for(j=-1; j<=1; j++){ //Se o elemento atual não for o da coordenada fornecida pelo usuario e o seu valor for 1, soma-se uma unidade ao contador if ( ((x+i!=x) || (y+j!=y)) && (matriz[x+i][y+j] == 1)) contaUm++; } } Tu só tem que tomar mais alguns cuidados em relação aos limites da matriz. Por exemplo, tu não pode tentar pegar um elemento abaixo do indice [0] nem acima do indice maximo da matriz
-
Problema resolvido. O erro estava na função: def verificaPrimos(numeroCandidato): if numeroCandidato < 2: return 0 else: raiz = int(math.sqrt(numeroCandidato)) if raiz%2 == 0: raiz = raiz - 1 #end_if while raiz >= 3: if numeroCandidato%raiz == 0: return 0 #end_if #end_while #end_if_else return 1 Que não estava atualizando a raiz dentro do laço, modificando para def verificaPrimos(numeroCandidato): if numeroCandidato < 2: return 0 else: raiz = int(math.sqrt(numeroCandidato)) if raiz%2 == 0: raiz = raiz - 1 #end_if while raiz >= 3: if numeroCandidato%raiz == 0: return 0 raiz = raiz - 2 #end_if #end_while #end_if_else return 1 Tudo se resolveu
-
Seguinte, to querendo desenvolver um programinha que ache números primos. Só que eu queria usar todo os cores disponiveis na minha máquina. A principio desenvolvi um codigo inicial, porém só consigo chegar até o número 10, depois disso nenhum outro primo é impresso. Se alguém souber o que tenho que modificar seria de grande ajuda. import math import sys from multiprocessing import Process def verificaPrimos(numeroCandidato): if numeroCandidato < 2: return 0 else: raiz = int(math.sqrt(numeroCandidato)) if raiz%2 == 0: raiz = raiz - 1 #end_if while raiz >= 3: if numeroCandidato%raiz == 0: return 0 #end_if #end_while #end_if_else return 1 def multProcess(numInicial,numFinal,numCores): passo = numCores*2 contNumeros = numInicial contPrimos = 0 while contNumeros <= numFinal: print "Verificando %s" %contNumeros if verificaPrimos(contNumeros) == 1: contNumeros = contNumeros + passo contPrimos = contPrimos + 1 else: contNumeros = contNumeros + passo #end_if_else #end_while print "Encontrados: %s" %contPrimos if __name__ == "__main__": if len(sys.argv) <> 4: print "Parametros Incorretos" else: if int(sys.argv[1]) % 2 == 0: valorInicial = int(sys.argv[1])+1 else: valorInicial = int(sys.argv[1]) #end_if_else p1 = Process(target=multProcess, args=(valorInicial, int(sys.argv[2]), int(sys.argv[3]))) p1.start() p2 = Process(target=multProcess, args=(valorInicial+2, int(sys.argv[2]), int(sys.argv[3]))) p2.start() #end_if_else