Ir ao conteúdo

Ansi C

Membro Pleno
  • Posts

    3.284
  • Cadastrado em

  • Última visita

Tudo que Ansi C postou

  1. Experimente colocar coordenas 0 0 para bufcoordhora.
  2. *** Foi o que eu disse 79 == 79. Esse pode ser um dos erros.
  3. Olá@Gabriel Paulucci ― Verifique as coordenadas da área de escrita, para mim, isso não são coordenadas retangulares. Cartesianamente, os dois pontos devem formar um segmento de reta oblíquo. "(0; 79), (24; 79)" essas coordenas dão um segmento de reta paralelo. Paralela ao eixo x | (y == y'), ou seja, não há retângulo para escrever !!! * Você entendeu isso? Tem alguma pergunta?? * Pode falar O.k!
  4. ― Se você acha que vale a pena tanto esforço e tempo, continue tentando. Compartilhe conosco as novidades. O.k!
  5. Leia-se no enunciado da questão. ― Não foi imposto uma ordem de execução \ estruturação de blocos. Desde que o programa (concatene, e exiba), com duas funções, uma função pode ser interna a outra sem problema, mais precisamente; a primeira interna a segunda sem com isso está errada a resposta. Estrutura básica da Função 2, usando a Função 1 void segunda_funcao(void) { /** Declaração de variáveis: nome e sobrenome */ char pnome[nome_e_sobrenome_tamanho]; char snome[nome_e_sobrenome_tamanho]; puts("Nome"); /*< exibir no prompt mensagem */ gets(pnome); /*< obter nome */ puts("Sobrenome"); /*< exibir no prompt mensagem */ gets(snome); /*< obter sobrenome */ /** Concatenar: nome + sobrenome & sobrenome + nome */ primeira_funcao(pnome, snome); puts(pnome); /*< exibir no prompt nome sobrenome */ puts(snome); /*< exibir no prompt sobrenome nome */ return; /*< finalizar a segunda_funcao */ } ― Você entende isso, ou não? Aguardando O.K! ― Sim. Em linguagem C, referência é com ponteiro.
  6. Olá@s4lezardv1A ! Por que tem que ser deste jeito ?
  7. Esta passagem de caractere como argumento para um parâmetro char* vai causar erro de acesso violado na memória. Ou seja, agora não é mais o arranjo, e sim, o argumento. Documente seus códigos: Um trecho de código nem sempre é o bastante, e sendo de linguagem C, nunca será, o que faz de C uma linguagem de documentação obrigatória. Preste atenção nos sinais de alerta emitidos pelo compilador; pois um erro dessa magnitude não passa despercebido por uma Interface bem configurada. Porque você continua a acessar ponteiros/locais da memoria que não podem ser acessados. Desta vez comunica suas intenções por meio de linhas de código comentadas, não precisa ser muito, um linha já basta. Não tenha medo de perguntar, questione sempre, na aula em toda parte O.k! Recomendo este site para auto-aprendizagem: https://www.cprogressivo.net/ Um excelente apostila online, com vários exercício resolvidos ... Pode confiar!
  8. NOSSA SENHORA !!! Não sei como ajudar-te.
  9. Sim, aquele instante do algoritmo também estava errado, se é o não a origem do problema com certeza em alguma instante será. Aqui acima mais uma vez o mesmo erro: acessando locais não reservados da pilha. Você entendeu a minha explicação anterior ? Enfim não se importe em entende-la Aqui segue uma pagina web para leitura e compreensão do seu problema: https://en.wikipedia.org/wiki/Segmentation_fault Compartilha as novidades sempre. O.k!
  10. for (l= 1; l <= li; l++){ scanf("%s",&email[c][l]); } Olá @Lucas Pelepek Nesse fragmento o programa acessa locais além da memória reservada para o vetor, pois os índices de um arranjo são determinados na lista de valores que vão de 0 até (N-1), onde N é o tamanho definido para o arranjo na declaração. Está claro pra você ?? Aguardando O.k!
  11. Olá@Zithion Resolve com instrução SELECT que na condição WHERE tem a chave de registro a ser utilizada. Se houve retorno então é UPDATE. Senão então é INSERT Você entendeu? O.k!
  12. É isso? void imprimir(char texto[]){ int repetir; for(repetir= 15; 0 < repetir; --repetir){ printf("%10s \n", texto); } return; }
  13. Olá@Rômulo Lysboa @Niê a função system é da biblioteca (arquivo de cabeçalho) <stdlib.h> que em C++ tem um pseudônimo <cstdlib> https://pt.wikipedia.org/wiki/Stdlib.h
  14. @Gabriel Paulucci Sim, exatamente isso que recomendo que faça. Volte para o mínimo padrão usando "C" no local de "Portuguese", Faça isso sempre que desejar imprimir o caractere box-drawing. Você entende isso? O.k!
  15. Olá!@Gabriel Paulucci A tabela de codificação usada pelo windows ao chamar a função não tem esse caractere especial, essa tabela, Portuguese_Brazil.1252, é baseada na windows.1252 que também vem sem. Você entendeu? O.k!
  16. @Josesousa Sim, apenas aquela parte que se entende logicamente como uma iteração, neste caso a soma já é o bastante para maioria dos professores. Eu não consigo entender as suas linhas de código, fica difícil administra-las só com fragmentos, contudo, parece repetir a mesma fórmula anterior, com diferença no denominador que, não decresce como antes porque é uma constante dividindo cada elemento do arranjo. Porém, como já acordado, a recursividade é necessária apenas por otimização naquela parte de iteração no código; fica no caso restrito a função ´soma´, por hora. Se depois quiseres, pensas um pouco mais no segundo caso: dividir, e adicionar. Por enquanto pensei em: adicionar, e dividir. Sim, nos planos da função ´soma´, usamos se quisermos apenas ponteiro. Faça (implemente) apenas a função ´soma´, depois coloque-a como função internar à função ´media´. "É tão simples" que faço o protótipo, deixo o corpo para você arriscar. /** Percorre o arranjo do início até o fim retorna a soma de seus elementos. @param [in] iarray ponteiro int: primeiro elemento do vetor. @param [in] farray ponteiro int: último elemento do vetor. @return a soma dos elementos do arranjo. */ float array_sum( const int *iarray, const int *farray ); *** está em inglês, só de elegância. Você entende isso também? Está claro pra você ?? Aguardando O.k
  17. Olá @Ivo Morais ! Se o cujo dito procedimento restringe-se à exibir n-vezes uma mensagem s-qualquer de 10 caracteres, qual é o resultado que o procedimento retorna, assim como você diz "fizesse o processamento fora e depois trouxesse o resultado", pois é o mesmo que retorno. Eu não entendo o retorno! Essa mensagem é para ser exibida? Se sim Onde, senão como? O retorno? retorno de quê?
  18. @Josesousa As duas intensões estão corretas: 1- Tanto é valido adicionar e dividir quando 2-Dividir e adicionar; ou seja, são comutativas. Contudo, a recursividade é aplicado a segmento de código que se repete, no caso não é média a ser recursiva, e sim a função SOMA, segundo o fragmento abaixo. Você entendi isso também? Está claro pra você ?? aguardando O.k!
  19. Olá! Para calcular um média aritmética; primeiro adiciono todas parcelas em uma soma, depois divido a soma pela quantidades de parcelas adicionadas. Porém ao que me consta o algoritmo que resolve dividir cada parcela e depois somar, ou seja. Dadas as parcelas n(a,b,c,d ... n-1) com n= número de parcelas. A média aritmética é ( a + b + c + d ... n-1 )*(1/n). Daí o seu algoritmo aplica a distributiva na operação da seguinte maneira: ((a/n) + (b/(n-1)) + (c/(n-2) + (d/(n-3) ... ((n-1)/1)). Ou seja, o denominador (n) decresce até 1. Você entendeu isso com certo por quê? Você me entendeu? Algo que querei dizer diga ... O.k?
  20. Todos de Paul J. Deitel & Harvey M. Deitel, também conhecidos como: Deitel - Como programar em C. Você encontra em PDF para download na internet. Porém não lembro de nenhum livro com o seu caso específico. Se procurar ordenação de lista em ordem alfabética talvez tenha mais sorte.
  21. Olá! Com relação a essa função, falta apenas os parâmetros. Entre em contato com autor do programa e peça-lhe mais esclarecimentos. Caso não consiga essa função faz mais sentido desta maneira: //Função que adiciona os números pares no início da lista e os números ímpares no //final da lista void inserir(Lista* lista, int valor){ /* A função inserir tem duas outras internas a ela see:: inserirInicio see:: inserirFinal As duas funções internas exigem igualmente dois parâmetros ::lista : parametro do tipo Lista. ::valor : parametro do tipo int. */ if((valor % 2) == 0){inserirInicio(lista, valor);} else{inserirFinal(lista, valor);} return;} Você entendeu isso? O.k!
  22. Quase! Porque não é só para trocar a letra, é para trocara a letra e também a lista de contatos. adicionado 1 minuto depois Pense... faz alguma sentido troca as letras e deixar os contatos ??? você entendeu isso? O.k!
  23. Certo.
  24. Ansi C

    C Criar sistema de controle

    Não, porém com certeza isso é relativo (depende do tempo e do seu desejo de aprender), logo estude vetores (array em c) e depois que entender a dinâmica dos vetores pesquisa trabalhos de pilhas com vetores.

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

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!