Ir ao conteúdo
  • Cadastre-se

kgin

Membro Pleno
  • Posts

    380
  • Cadastrado em

  • Última visita

Tudo que kgin postou

  1. sim, vai funcionar como qualquer android instalado de fabrica (só posso dizer isso do lineageOs). sim e não apps de bancos provavelmente não vão funcionar sem instalar o playService e a playStore, mas isso e bem fácil de resolver (depende do seu entendimento técnico ¯\_(ツ)_/¯) Não vai (pode ser que ele só não ligue mais ). Eu acho bem mais seguro do que a própria rom do google, pelo fato de receber patchs de segurança bem mais rápidos e frequentes. Como você vai instalar sem root?
  2. a ideia seria criar um novo arquivo passando o antigo no comando for e salvando os cadastros que você não quer editar, então quando chegar a vez do que você quer editar ou apagar você edita e salva no arquivo e deixa o comando for terminar. por fim seria só apagar o arquivo velho e renomear o novo para o mesmo nome do antigo. Eu gostaria de dar um exemplo, mas já faz uns 10 anos que não mexo com batch.
  3. se me lembro bem você tem que usar o comando for com opção de file parsing e de string parsing. Microsoft docs comando for Eu recomendaria você aprender alguma linguagem de programação como C ou javascrip, porque fazer isso em batch não é muito vantajoso. fora que em batch você tem um limite de quão grande um arquivo pode ser analisado mais precisamente seria 65535 linhas, enquanto em C o mínimo e 4 gigabytes.
  4. @IzeraXD Eu ainda não entendi claramente o que o seu programa tem que fazer. era só um exemplo, você tem que carregar os nomes em algum lugar temporário que foi isso que eu fiz. arquivos texto (ou não binários) tem o acesso sequencial, significa que você não pode ir em X linha sem ler o arquivo todo, que foi isso que eu fiz.
  5. @IzeraXD Seria isso que você está tentando fazer? /* Copia a string para uma array */ printf("Mostra o nome letra por letra\n"); for (contador1 = 0; texto[0][contador1] != '\n' && texto[0][contador1] != '\0'; contador1++) { personagem[contador1] = texto[0][contador1]; printf("%c ", personagem[contador1]); } /* Coloca o sinalizador de final da string */ personagem[contador1] = '\0'; código fonte completo codigo_fonte.zip
  6. Poste o enunciado (o que você esta tentando fazer) para ficar mais fácil de entender. Porque pra mim o que você está fazendo é só complicar o que parece fácil.
  7. Poste o enunciado, e tente rodar na plataforma que você está programando para ver o resultado. igual eu fiz aqui Exemplo
  8. @xidori Se você quer mesmo seguir com essa ideia eu recomendo ler no livro c completo e total sobre "declarando uma lista de parâmetros de extensão variável" na pagina 175. Mas ao meu ver já que você é um aprendiz (não só de C, mas de tudo) eu recomendo você instalar uma VM com alguma distro leve (xubuntu ou linux mint) e fácil de usar, é usar a biblioteca origina. https://github.com/cs50/libcs50 É só seguir os passos direitinho que da certo.
  9. @carolineandresa Seria bom você colocar o enunciado, porque se for só para fazer um triangulo com as letras há varias formas de fazer. Exemplo #include <stdio.h> #include <ctype.h> const char sinal = '_'; int main(void) { unsigned short q_pontos = 0, q_linhas = 0, q_letras = 0, pontos, linhas, letras; char letra = 0; /* Lẽ um caractere entre A a Z do úsuario */ do { printf("Digite uma letra de A a Z\n"); scanf("%c%*c", &letra); if (toupper(letra) < 'A' || toupper(letra) > 'Z') { printf("O caractere %c não e valido!\n", letra); } } while (toupper(letra) < 'A' || toupper(letra) > 'Z'); q_pontos = q_linhas = (toupper(letra)-'A')+1; q_letras = 1; for (linhas = 0; linhas < q_linhas; linhas++) { /* Mostra os pontos */ for (pontos = 0; pontos < q_pontos; pontos++) { putchar(sinal); } /* Mostra as letras em ordem normal */ for (letras = 'A'; letras < (q_letras+'A'); letras++) { printf("%c", letras); } /* Mostra as letras em ordem reversa se a quantidade de letras for maior que 1*/ if (q_letras > 1) { for (letras = (q_letras+'A')-2; letras >= 'A'; letras--) { printf("%c", letras); } } /* Mostra os pontos */ for (pontos = 0; pontos < q_pontos; pontos++) { putchar(sinal); } /* Salta uma linha */ putchar('\n'); q_pontos--; q_letras++; } return(0); }
  10. De uma estudada em logica de programação O seu algoritmo está incompleto. Eu fiz este para demonstrar program Estruturas_de_repeticao; uses crt; const Q_PESSOAS = 10; var pessoas_90_150, pessoas_10_30_190, contador : integer; peso, altura : real; idade : byte; begin { Inicia as variaveis } pessoas_10_30_190:= 0; pessoas_90_150:= 0; for contador:= 1 to Q_PESSOAS do begin clrscr; writeln('Digite a idade da pessoa'); readln(idade); writeln('Digite a altura da pessoa'); readln(altura); writeln('Digite o peso da pessoa'); readln(peso); if (peso > 90) AND (altura < 1.50) then inc(pessoas_90_150); if (idade >= 10) AND (idade <= 30) AND (altura >= 1.90) then inc(pessoas_10_30_190); end; writeln('A quantidade de pessoas obesas morbidas menores que 1,50 e:', pessoas_90_150); writeln('A porcentagem de de pessoas entre 10 e 30 anos e que medem mais de 1,90 e:', (pessoas_10_30_190/Q_PESSOAS)*100:2:0,'%'); readkey; end. De uma estudada nele
  11. Eu não posso afirmar com certeza (mesmo porque eu nunca estudei C), mas quando você declara char *str = "Uma string!"; você só está criando um ponteiro chamado *str que aponta para um local do código (no formato elf provavelmente vai ser na secessão .text ou .data) que não pode ser modificada. Mas quando você declara char str[] = "Uma string!"; você está pedindo para o compilador reservar memoria para o vetor na parte baixa da memoria e logo em seguida copiar o conteúdo do vetor para a memoria. Isso vai depender do compilador e tipo de formato do executável, mas no geral é sempre assim. Resumindo. Assim você só pode modificar o ponteiro char *str = "Uma string!"; char outra_str[] = "Outra string!"; str = outra_str; str[3] = 'a'; É assim você só pode modificar o conteúdo. char str[] = "Uma string!"; str[0] = ' '; /* OK */ str = NULL; /* Vai dar erro! */ Pense na primeira como sendo uma constante que você não pode modificar.
  12. @codigo rápido Eu acho que seria melhor usar o mesmo espaço que foi passado para voltar a string. Dessa maneira que você fez você deixou um vazamento de memoria (mem leak) passar na hora que você reservou a memoria e não a liberou. Uma alternativa melhor seria #include <stdio.h> #define T_FRASE 60 char *inverteString(char *str); /* * Em caso de sucesso devolve a string invertida, ou NULL em caso de falha. */ int main(void) { char frase[T_FRASE]; puts("Digite uma frase para ser invertida"); fgets(frase, T_FRASE, stdin); /* Retira o newline */ { int contador; for (contador = 0; frase[contador]; contador++); frase[contador-1] = '\0'; } if (inverteString(frase) == NULL) { puts("Erro ao inverter a frase!"); } else { puts("Frase invertida"); puts(frase); } puts("Pressione enter para continuar..."); getchar(); return(0); } char *inverteString(char *str) { int contador1, contador2, tamanho_string = 0; /* Verifica o tamanho da string */ if (str != NULL) { for (contador1 = 0; str[contador1]; contador1++); tamanho_string = contador1-1; if (tamanho_string > 0) { char temporario[tamanho_string+1]; contador2 = tamanho_string; /* Inverte a string */ for (contador1 = 0; contador1 < tamanho_string+1; contador1++) { temporario[contador1] = str[contador2]; contador2--; } temporario[contador1] = '\0'; /* Copia a string de volta */ for (contador1 = 0; temporario[contador1]; contador1++) { str[contador1] = temporario[contador1]; } /* retorna a string */ return(str); } } /* Erro */ return(NULL); }
  13. Olá a sua pergunta está meio ambígua. Você quer pegar o conteúdo da variável mandada por um método post ou você quer uma maneira de processar um cabeçalho HTTPS que tem um método post?
  14. @baji O que isso faz? Poste o algoritmo inteiro e o enunciado para que alguém possa te ajudar.
  15. Eu não sei javascript, mas irei tentar explicar o que está acontecendo. Quando você compara o isósceles ele vai ser verdadeiro se qualquer lado for igual. const Isósceles = Lado1 == Lado2 || Lado2 == Lado3 || Lado3 == Lado1 ai quando você vai testar se o triangulo e equilátero a condição será falsa, porque você está dizendo se equilátero for diferente de isósceles que não é. if (Equilátero != Isósceles && Equilátero != Escaleno) return "Este triangulo é Equilátero" então você compara a variável equilátero com a isósceles que são ambas verdadeiras que vão dar o resultado de falso, é a mesma coisa acontece com equilátero e escaleno.
  16. @Rebeka Como você faria esse porcentagem na formula de um calculo?
  17. @dve A ideia básica é, faça um vetor para guardar os números (com o tamanho entre 100 a 500 posições) declare uma variável para pegar a quantidade de números digitados e outra para auxiliar. Faça um loop com o repita ... até para pegar os números utilize a variável para pegar a quantidade de números como índice do vetor. Faça outro loop do tipo para ... faça e utilize a quantidade da variável usada para contar quantos números foram digitados como ponto final e use a variável auxiliar para contar, agora você só precisa mostrar os valores no loop. De uma olhada no manual do Visualg http://manual.visualg3.com.br/doku.php?id=manual
  18. @Blxck Antes de começar na recomendação do amigo aí, eu recomendo você dar uma estudada em algoritmos primeiro.
  19. Eu posso está dizendo algo *****, mas não seria melhor converter o numero para uma representação por ponto fixo (fixed point) é mandar como dois bytes pela serial.write()? Se não sabe o que é, de uma olhada nesse site em inglês https://plutiedev.com/fixed-point
  20. @KingDasWinxBR Qual é o seu intuito em aprender a programar?
  21. Eu estou meio enferrujado no Pascal, mas as linhas de 14 a 22 estão fazendo basicamente a mesma coisa. O melhor seria fazer assim. Program Maior_Menor_Vet; const Q_ARRAY = 5; Var vet:Array [1..Q_ARRAY] of integer; i,maior,menor,localMai,localMen:integer; { Você também pode iniciar as variaveis aqui dessa maneira maior:integer = 0; } Begin { Inicia as variaveis, só por garantia ;) } maior := 0; menor := 0; localMen := 0; localMai := 0; For i:=1 to Q_ARRAY do Begin write('Digite um valor para o ', i ,'º vetor: '); readln(vet[i]); end; { Checa o maior } For i:=1 to Q_ARRAY do Begin { Se o valor no vet for maior que a variavel maior } if (vet[i]>maior) then begin { Salva a posição é o valor } maior:=vet[i]; localMai:=i; end; end; { Inicia a variavel menor com o maior valor achado } menor := maior; { Checa o menor valor } For i:=1 to Q_ARRAY do Begin { Se o valor no vet for menor que a variavel menor } if (vet[i] < menor) then begin { Salva a posição é o valor } menor:=vet[i]; localMen:=i; end; End; { Mostra o resultado } writeln; writeln('O menor valor é: ', menor,'. Está localizado no ',localMen,'º vetor.'); writeln('O maior valor é: ', maior,'. Está localizado no ',localMai,'º vetor.'); readkey; { Pausa o programa } End. As coisas entre as chaves {} são comentários, se você estiver usando um compilador que não suporte a constante que eu declarei (Q_ARRAY) apague ela e substitua pelo valor. Qual compilador você está usando?
  22. @Nikollas G. Ohta Você precisa iniciar a variável menor com o valor da variável maior, porque a variável já é iniciada com o menor valor que é 0 (a maioria dos compiladores de pascal faz isso, os outros não iniciam). faça dois loops um para achar a maior variável e depois passe o valor da mesma para a variável menor, e depois faça o loop para achar o menor valor.
  23. Disse jacaré porque Visual basic e "filho" do velho basic (uma linguagem da década de 60), se você vai dar uma olhada no JS eu recomendo começar por aqui Boa sorte
  24. @jottinha852 Eu acho que você deveria separar o código da sua lista encadeada do seu programa. Isso só vai atrapalhar, aprenda a fazer a lista encadeada primeiro para só depois você começar a fazer o programa. Exemplo de lista encadeada. Não use system() nem fflush() para limpar a saída você só tera problemas usando isso. Aprenda a pegar a linha inteira passada pelo usuário e interpretar o conteúdo contido na mesma.
  25. Pois é, como eu disse se você já sabe C seria um desafio relativamente fácil editar um arquivo CSV com as funções da própria linguagem. Mas se você que aprender outra linguagem tem varias que já suportam por natureza esse tipo de aquivo, Exemplo o (jacaré) do VBA que o @ricardo_br mencionou.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!