Ir ao conteúdo
  • Cadastre-se

1freakday

Membro Pleno
  • Posts

    671
  • Cadastrado em

  • Última visita

Tudo que 1freakday postou

  1. fwirite não existe, o certo é fwrite...
  2. //construtor iniciando com data diferente, //do argumento Datas::Datas(int dia, int mes, int ano) { dia = 02; mes = 11; ano = 2017; } //Use assim Datas::Datas(int dia, int mes, int ano) { this->dia = dia; this->mes = mes; this->ano = ano; } //Ou assim Datas::Datas():dia(0),mes(0), ano(0) {}
  3. Você precisa retornar a lista: l = lst2_libera(l);
  4. @NataliaP. Vou dar uma dica que pode ajudar ou piorar(xD), sempre imagine e perceba com clareza todas etapas das questões. Por exemplo, ele pede um vetor de 10 inteiros, então imagine uma lista com 10 inteiros. 1,2,3,4,5,6,... Pode parecer simples//complicado, talvez bobo, mas quando praticar vai conseguir usar para muitos algorítimos, seja simples ou complexo. Enfim, com uma lista de 10 inteiros em mente, agora determine qual loop é melhor, um for, while, do...while, etc. Você decide, mas na minha opinião um for é o melhor para situação, pois podemos controlar os iteradores facilmente e já usamos o principio K.I.S.S. Agora você precisa analisar como funcionara o for, pois bem, você tem que percorrer toda lista e verificar elemento por elemento e ir contando. Porém será que é necessário armazenar eles? Ou só mostrar na tela? Esses detalhes precisam ser especificados, pois algumas vezes não estão na questão mas precisam ser implementados. Para percorrer um vetor, é simples, basta 'correr' os elementos de um vetor com um iterador, seja um int i no for.Ex.: int i; //Vetor sendo 'preenchido' de 0 a 9 for(i = 0; i < 10; i++){ Vetor[i] = i; } Veja que não tem como ver os numeros repetidos, pois só usamos um iterador(int i). Então é necessário usar mais um for, um para selecionar o numero a ser comparado e outro para verificar se os numeros são repetidos, segue: //Supondo que tenha um Vetor com 10 numeros inteiros... int i,j, contadorDeRepetidos = 0; for(i = 0; i < 10; i++){ for(j = 0; j < 10; j++){ //0 == 1,2,3,4,5,6,8,9 ? if(Vetor[i] == Vetor[j] && i != j){ contadorDeRepetidos++; } } //se Vetor[i] conter algum número repetido. if(contadorDeRepetidos > 0){ printf("O numero %d repetiu %d vezes.\n", Vetor[i], contadorDeRepetidos); //log contadorDeRepetidos = 0; //zera contador }else { printf("O numero %d não repetiu nenhuma vez.\n", Vetor[i]); //log } }
  5. @AndrezaWF Pode ser na função main, mas sempre declare qualquer objeto de uma estrutura, depois de colocar a estrutura em si, ex.: //definição de tipo 1º typedef struct Produto { float preco; char descricao[100]; } Goiaba, Maca; //qualquer lugar do código abaixo... //declarações por 2º Goiaba prd_goiaba; Maca prd_maca;
  6. @AndrezaWF Sendo que POSICAO é um tipo definido e não o objeto da estrutura, use: POSICAO objeto; //veja que . é usado para acessar os elementos da estrutura. objeto.lin = i; objeto.col = j;
  7. @erique Veja que 'texto' já é ponteiro, de acordo com sua declaração, seja char texto[100], ou char *texto; Então use: confirmacao(texto); Você só usa & quando quiser passar o endereço de uma variável, sendo útil para poder modifica-la.
  8. @Luísa Brandão Pois então, tive que rodar o código, e acontece que você precisa liberar os anteriores e depois os proximos, também é preciso retornar a lista na chamada. Lista2* lst2_libera (Lista2* l){ Lista2 *p = l->ant; //libera anterior while(p != NULL){ free(p); p = p->ant; } p = l; //libera próximo while(p != NULL){ free(p); p = p->prox; } return p; }
  9. Bom dia, então você está declarando uma variavel dentro do while, isso pode prejudicar o código, também sempre verifique a ordem lógica: //troque esse por while (p!=NULL) { Lista2* t=p->prox; free(p); p=t; } //esse while(p != NULL){ free(p); p = p->prox; } //veja que o loop só começa e continua se p for diferente //de NULL
  10. @tspereira.rj Começa com C, você não vai se arrepender, e sempre é bom conhecer uma linguagem que influenciou muitas outras.
  11. @zanuzo Para voltar você precisa usar loops, segue um material de apoio: www.facom.ufu.br/~anilton/GEQ007%20PD%20Eng.Quimica/4-Aulas%20Programa%E7%E3o%20C/repeti%E7%E3o%20-%20while%20-%20do-while.pdf Link encurtado: cnhv.co/h6it
  12. Você precisa de um VETOR float com 10 elementos, esses elementos são lidos do teclado. Calcule a média deles. Exemplo: Temos um vetor com 10 elementos de 0 a 9: 0,1,2,3,4,5,6,7,8,9 divide por 10 e a média é 4,5 Para calcular desvio de todos elementos do vetor, é necessário fazer a média de um elemento do vetor com todos elementos, depois fazer a raiz quadrada: //xElemento[x] -> variável temporária, pode ser um vetor com 10 elementos também //pow -> função que eleva ao quadrado //sqrt -> função para raiz quadrada float xElemento[10]; float vetor[10]; for(int x = 0; x < 10; x++){ xElemento[x] = 0; //x = (0 + 0)² //x = (1 + 0)² ... até x = (9 + 9) ² for(int i = 0; i < 10; i++){ xElemento[x] += pow( (Vetor[i] + Vetor[x]) , 2); } //media xElemento[x] = xElemento/mediaVetor; //raiz xElemento[x] = sqrt(xElemento[x]); } Segue um material de apoio: http://mundoeducacao.bol.uol.com.br/matematica/variancia-desvio-padrão.htm
  13. @Lucas D Sá Você pode usar atoi para converter a string para inteiro e usar o operador lógico E ( && ) Pois se usarmos 1 && 1 ou 0 && 0, teremos 1, no caso você precisa ter tudo como 0.
  14. Para usar rand você precisa inicia-lo com srand(time(NULL)); no inicio do programa, também é necessário usar a biblioteca time.h. Segue a documentação: http://www.cplusplus.com/reference/cstdlib/rand/?kw=rand
  15. @Bruno Luis Vieira Use 'private' apenas para variáveis, onde elas são acessadas apenas pelas funções da classe. E use 'public' para as funções publicas acessadas 'fora' da classe. Exemplo: //Estrutura pública, mas depende de onde será usada/declarada. struct DadosPrivados{ //variáveis públicas por padrão char login[100]; char senha[69]; } class Servidor { private: DadosPrivados BancoDeDados[100]; public: void cadastro(); // pode acessar BancoDeDados; void alterar(); // pode acessar BancoDeDados; void dextructor(); // pode acessar BancoDeDados; }; void BlackHat(void); // não pode acessar BancoDeDados;
  16. @Brunno Dornelas da Silva rand()%5000 só vai de 0 a 4999, use: rand()%5000+1 para ir de 1 a 5000.
  17. @Alessandroequilibrio No caso o fseek só funciona para setar a posição na linha, tente usar uma função que ira contar a linha até chegar na posição aleatória e essa função pegara a palavra e retornara. Ex: #include <stdio.h> #include <string.h> #include <time.h> #define MAX 5 //:: retorna numero aleatório de 0 a 4 int numAleatorio(){ return(rand() % MAX); } //:: retorna em 'char *palavra' void obterPalavra(char *palavra, const char *arquivo, int linha){ FILE *ff = fopen(arquivo, "r"); if(ff){ while(fgets(palavra, 500, ff) > 0){ //se a linha for 2, ela diminui 2 e encontra... if(linha-- == 0) break; } if(strlen(palavra)>0){ palavra[strlen(palavra)] = '\0'; }else{ palavra[0] = '\0'; } fclose(ff); }else { printf("Falha ao abrir arquivo!\n"); } } int main(){ srand(time(NULL)); char palavra[30]; int ale = numAleatorio(); obterPalavra(palavra, "animais.txt", ale); printf("Palavra <%d> no arquivo <animais.txt>: %s\n\n", ale, palavra); return 0; } Conteudo do arquivo animais.txt: leao onca tigre gato cachorro
  18. @MrBomber Em main você chama pilha.c: #include "pilha.c" Ou você compila pilha.c e cria um objeto, ai linka esse objeto ao projeto e inclui #include "pilha.h" Do seu modo ele não encontra o escopo das funções.
  19. @Isaac Scalia Você resumiu o que eu disse, leia novamente, estamos aqui para ajudar quem quer ser ajudado, não fazemos deveres de casa, e para algumas pessoas isso custaria..., enfim segue alguns tutoriais para ficar afinadão: http://www.inf.pucrs.br/flash/cbp/algoprogC.pdf C/C++ http://www.inf.pucrs.br/~pinho/LaproI/ C https://www.ime.usp.br/~slago/slago-C++.pdf C++
  20. @dss1757 As restrições são poucas, pois a formiga não pode passar das condições: Condição A) x só pode ser igual a 0 ou menor que 5 Condição y só pode ser igual a 0 ou menor que 5 Lembrando que x e y são as coordenadas da formiga. Então necessário variáveis próprias para 'lembrar' as posições dela. Pois a matriz mat deve ser usada apenas para as sementes. Na hipótese de que a formiga passe em uma semente mesmo carregando uma. Entretanto, depois de 'randomizar' os números de X e Y: a ) verifique as condições acima com if, caso estiverem de acordo, basta mudar a posição da formiga. b ) verifique se ela está no local de uma semente, e não está carregando nenhuma, use uma variável como flag que identifique quando ela está carregando uma semente ou não. c ) após randomizar X e Y novamente: verifique se o Y é 0, também verifique se a posição em mat[y][x] está vazia e se a formiga está carregando uma semente (FormigaCarregandoSemente == true ?) , caso estiverem, basta mudar os valores da flag e de mat. Tudo isso é possível ser feito com if, basta controlar as flags e as variáveis temporárias.
  21. Não quero ser rude, porém não li o enunciado pois não é minha/nossa obrigação, sei que você entende. Já que no preludio do questionário diz: "A honestidade e a ética são fundamentais para formação do engenheiro." Colocando seu código no 'microscópio', você precisa: Saber quais tipos de dados usar, isso já é informado no inicio da imagem. Basta por em código. Criar as funções. Criar a parte lógica das funções. Enfim, você deveria postar as questões em escrito, identificar os problemas e dificuldades, caso não saiba programar, sugiro aprender, mesmo que um pouco, veja exemplos e ponha os códigos em prática, isso não é plágio e sim entender e saber como deve ser feito, segue uns temas: - Sintaxe - Métodos - Tipos de dados - Loop's - Objetos Caso tenha alguma duvida/problema/dificuldade, basta por seu código, analisaremos ele e ajudaremos nas etapas.
  22. @Alessandroequilibrio Faz o seguinte: 1) Separe as palavras por arquivos. Cada linha você usa uma palavra. 2) Em cada dificuldade, você usa o rand para obter uma linha aleatória. Ai você só precisa buscar a linha. ou seja, use um inteiro para armazenar rand() e depois busque essa linha com fseek.
  23. @jbiribi Pois é, tenta ver a tabela ascii e o numero real será: num = Serial.Read() - X X = decimal inicial ascii do char '0'
  24. @jbiribi Não no Arduíno, mas no código do que se 'comunica' com o código do Arduíno.
  25. @Vanessa Dos Santos Vieira Poste seu código, assim podemos lhe ajudar, caso não saiba sobre sub-rotinas: http://www.facom.ufu.br/~anilton/EQQ09 PD Eng.Quimica/funcoes.pdf

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...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!