-
Total de itens
70 -
Registro em
-
Última visita
Sobre isrnick
Perfil
-
Gender
Not Telling
Últimos Visitantes
O bloco dos últimos visitantes está desativado e não está sendo visualizado por outros usuários.
isrnick's Achievements
0
Reputação
-
Tem um livro open source/livre bom pra quem está começando em Python, ou até aprendendo a programar em geral, chamado Think Python (Pense Python) também conhecido como How to Think Like a Computer Scientist (Como Pensar Como um Cientista da Computação) originalmente escrito por Allen B. Downey para Java, e posteriormente adaptado para Python por Jeffrey Elkner, Chris Meyers, e Peter Wentworth. Recomendo especialmente as versões online interativas em inglês ou português, que permitem executar os exemplos do livro, assim como resolver e rodar os exercícios propostos, no próprio navegador. Português: Versão em português: https://penseallen.github.io/PensePython2e/ (Contém versão para ler online, ou link para comprar a versão impressa.) Versão EPUB em português: https://github.com/PenseAllen/PensePython2e/blob/master/ebooks/PenseEmPython2e.epub Versão PDF em português: http://eltonminetto.net/docs/pythontut.pdf (Acredito que esse PDF seja uma tradução diferente.) Versão online interativa em português: https://panda.ime.usp.br/pensepy/static/pensepy/index.html (Dispinibilizado pelo IME-USP para ser usado pelos alunos de introdução a programação, traduzida da versão interativa em inglês. Link para a página contendo outros recursos para estudo: https://panda.ime.usp.br/panda/python ) Inglês: Versão original em inglês: http://greenteapress.com/wp/think-python-2e/ (Contém links para download de PDF, ler online em HTML, ou comprar a versão impressa.) Versão modificada por Peter Wentworth em inglês: http://openbookproject.net/thinkcs/python/english3e/ (Por se tratar de um livro open source outros autores tem a possibilidade de fazer versões modificadas ou ampliadas baseadas no original. As versões interativas por sua vez basearam-se nessa versão.) Versão online interativa em inglês: https://runestone.academy/runestone/static/thinkcspy/index.html Outro livro livre online que é recomendado mais pra quem já tem algum conhecimento de linguagem de programação é o "Dive Into Python 3" (http://www.diveintopython3.net/), mas não encontrei tradução dele.
-
Comparação entre duas datas no C++
pergunta respondeu ao Maristela Fialho de isrnick em Tutoriais & Dicas - C, C++
Aqui eu fiz uma função simples para comparar datas: struct Data{ int dia, mes, ano; }; /*Retorna 0 se data1 == data2, um número positivo se data1 > data2, ou negativo se data1 < data2. */ int compara_datas(Data data1, Data data2){ int delta_anos, delta_meses, delta_dias; delta_anos = data1.ano - data2.ano; delta_meses = data1.mes - data2.mes; delta_dias = data1.dia - data2.dia; if (delta_anos != 0) return delta_anos; if (delta_meses != 0) return delta_meses; return delta_dias; } -
É um programa simples, seu conhecimento é mais que suficiente. O tipo char nada mais é que um número inteiro, a diferença do o tipo char para o tipo int é que ele tem apenas 8 bits em forma binária, enquanto o int tem pelo menos 16 bits (normalmente tem 32 bits na arquitetura x86), quando você manda imprimir um caractere, por exemplo usando "%c" no printf() o que ele faz é usar uma tabela de conversão que pega esse número inteiro e acha o caractere correspondente na tabela, e então imprime o caractere na tela. Existem várias tabelas de caracteres, e uma bem básica e conhecida é a tabela ASCII. Então seu programa deve simplesmente pegar todos os caracteres digitados pelo usuário e imprimir na tela o número inteiro correspondente, usando "%u" (inteiro sem sinal) no printf(). Por exemplo: #include <stdio.h> int main() { unsigned char c = '\0'; while(c != '\n'){ c = getchar(); if (c != '\n') printf(" %c\t%u\n", c, c); } return 0; }
-
o que está errado ?
pergunta respondeu ao Kalebe Filardi de isrnick em Repositório de scripts - Python
O valor está de x está fixo, logo x%20 vai calcular o número de notas de 20 do valor total, não apenas do que restou. Faça assim: x = int(input()) a = x//100 x = x%100 b = x//50 x = x%50 c = x//20 x = x%20 d = x//10 x = x%10 e = x//5 x = x%5 f = x//2 g = x%2 print(a, b, c, d, e, f, g) -
Se a primeira letra vai ser lida antes do ciclo, o valor inicial de cont deve ser 1. E nesse caso também poderia fazer assim: #include<stdio.h> int main(void){ int cont=1; char letra; scanf("%c",&letra); while(letra != 'A' && letra != 'a'){ scanf("%c",&letra); if (letra != '\n') cont = cont + 1; } printf("Foram feitas %d tentativas",cont); return 0; } Para descartar os '\n' que ficam como lixo na entrada padrão, e contar apenas as letras. Dessa maneira você pode entrar tanto 1 letra por vez seguidas de Enter, quanto digitar todas as letras de uma vez e só então da Enter: b c d e a ou então assim: bcdea Ambos resultam em: Foram feitas 5 tentativas
-
Criar um arquivo binário com dados de um vetor
pergunta respondeu ao Éder winkert de isrnick em C, C++
Ok, o problema é que o comprimento do array/vetor é muito grande, ou seja quando você faz prohibited[N], com N tendo valor de mais de 1 milhão, está tentando reservar espaço demais no stack da memória para armazenar os valores, e isso causa o erro. Nesse caso é necessário alocar memória dinamicamente, usando malloc() (da biblioteca stdlib.h), a fim de guardar os valores no heap da memória, onde grandes quantidades de dados podem ser armazenados: #define L 1024 /* linear lattice size */ #define ofile "ZProhibited.10" /* output binary file name */ #include <stdio.h> #include <ctype.h> #include <stdlib.h> int main() { int N=L*L, *prohibited, i; FILE *fdata; prohibited = malloc(N * sizeof(*prohibited)); for(i=0 ; i<3L+1 ; i++) { prohibited[i]=0; } for(i=3L+1 ; i<3L+12 ; i++) { prohibited[i]=1; } for(i=3L+12 ; i<4L+1 ; i++) { prohibited[i]=0; } for(i=4L+1 ; i<4L+12 ; i++) { prohibited[i]=1; } for(i=4L+12 ; i<N ; i++) { prohibited[i]=0; } fdata=fopen(ofile,"wb"); fwrite(prohibited, sizeof(int), N,fdata); fclose(fdata); free(prohibited); return 0; } OBS: Lembre-se que é necessário usar free() para liberar a memória alocada dinamicamente. -
Criar um arquivo binário com dados de um vetor
pergunta respondeu ao Éder winkert de isrnick em C, C++
Aqui está gerando o arquivo, que problema está tendo? -
Criar um arquivo binário com dados de um vetor
pergunta respondeu ao Éder winkert de isrnick em C, C++
Para postar códigos use a tag CODE apertando o botão <> no topo do campo de respostas, assim você preserva a formatação do código e evita que o fórum faça alterações nele. Por exemplo, o fórum "comeu" todos os [ i ] (sem espaços) do seu código pois no fórum isso é a tag para deixar o texto em itálico, então o texto do seu código está em itálico a partir do primeiro que foi encontrado (os demais apenas somem porque o texto já tá em itálico). Mas já posso ver alguns erros no programa, onde você está colocando comparações no primeiro parâmetro dos ciclos for, como i>4L, imagino que queria colocar i = 4L+1? E talvez seria melhor fazer um único ciclo for com alguns ifs dentro... -
Quebra de linha de arquivo input não é \n, como descubro qual é?
pergunta respondeu ao Rodolfo Lopes de isrnick em Python
O objeto arquivo (ftest) já é iterável, e quando iterado sobre retorna uma linha a cada iteração, logo não é necessário usar read ou readlines. Logo teste isso: def search(): filetest = "C:/Python33/exemplo.txt" #demanded codes file #read the demanded codes file ftest = open(filetest, 'r') for i, line in enumerate(ftest): print(i, line) A saída na tela deveria ser o número da linha seguido do texto da linha: Por exemplo para exemplo.txt: abcde ferd sfdasf gfdgrt gfdg A saída será: 0 abcde 1 ferd 2 sfdasf 3 gfdgrt 4 gfdg- 2 respostas
-
- quebra de linha
- \n
-
(e %d mais)
Tags:
-
Tenta assim: typedef struct node{ char dado; struct node *esq; struct node *dir; } Node;
-
O problema é que você não definiu o que a função primeiroPilha retorna se algum dos ifs dentro da função não for satisfeito. Ou seja, se alguma condição dos ifs da função não for VERDADEIRO, esta função não retornará nada, pois o único return está dentro dos ifs, e essa função tem tipo char (não é void) e sempre precisa retornar algum valor.
-
shift byteslinguagem,contas com numero grandes
pergunta respondeu ao Silva Matematicano de isrnick em C, C++
O problema provavelmente é que está usando o especificador de formato errado para imprimir na tela o tipo unsigned long long. Veja, esse código funcionou como esperado aqui: #include <stdio.h> int main(){ unsigned long long i = 1; printf("%llu\n", i<<60); return 0; } Um site contendo a tabela de especificadores de formato do printf() e sua família de funções: http://pt.cppreference.com/w/c/io/fprintf -
Programação Python " : " dando invalid syntax
pergunta respondeu ao jeffersonfrancisco de isrnick em Lógica de Programação
Em outras linguagens é usado abre e fecha chaves { }, ou algo do tipo "comando e fim_do_comando", para indicar onde começa e termina um bloco de comandos. Mas em Python a indentação é que indica quais comandos pertencem a um mesmo bloco. <comando 1> if <condicao>: <comando 1 dentro do bloco de comandos do if> <comando 2 dentro do bloco de comandos do if> <comando 2> <comando 3> Ex: a = 7 print "fora do if" if a < 10: print "dentro do if" a = 15 print "ainda dentro do if" print "fora do if novamente" Logo, é muito importante sempre usar a indentação corretamente, de forma consistente. E isso é muito bom pra quem está aprendendo a programar, pois aprende dês de cedo a deixar o código bem organizado, já que em Python indentar corretamente é obrigatório. -
Programação Python " : " dando invalid syntax
pergunta respondeu ao jeffersonfrancisco de isrnick em Lógica de Programação
A mensagem de erro já diz o que é, ou seja, significa que você colocou algum espaço em branco no começo da primeira linha quando você copiou e colou, e não deveria. -
Dúvida em C - iniciante
pergunta respondeu ao Felipe Cabral de isrnick em Tutoriais & Dicas - C, C++
Aqui compilou e rodou normalmente, sem erros.