-
Posts
3.284 -
Cadastrado em
-
Última visita
Tipo de conteúdo
Artigos
Selos
Livros
Cursos
Análises
Fórum
Tudo que Ansi C postou
-
Tem também clássica função: 'inline' tipo maior (param1, param2); #include <stdio.h> int big( int param1, int param2 ){ if( param1 > param2 )return( param1 );return( param2 ); } int main( ){ int arr[10] , i ; for(i=0 ; i<10 ; i++) { printf("Insert the value-->"); scanf("%d", &arr[i]); } int the_biggest_value= big( arr[0], big( arr[1], big( arr[2], big( arr[3], big( arr[4], big( arr[5], big( arr[6], big( arr[7], big( arr[8], arr[9] ))))))))); printf("\n\nthe biggest value= %d\n\n", the_biggest_value); } É interessante porque contrasta com a solução de laços.
-
De nada, se entendeu igual o resultado é esse. for (int i = 0; i < T; ++i) { if (i==(T-1)) { vetor[0]= vetor[0]+i; } else { vetor[i+1]= vetor[i+1]+i; } } printf("\n"); Valeu
-
Só discordo do vetor adicao. Na ilustração do problema com copos e água, o vetor adicao é igual a novos copos. Use os copos e conteúdos que já existem, aproposito, exibi-los alterados no item f é a razão de existir um item f.
-
Tem coisas que eu discordo. Media Móvel não é um vetor, periodo é o vetor com 5 pontos (valores). Eu entendo a média móvel sendo a soma dos 5 valores que compõe o período dividido por 5. Então primeiro vem adição dos pontos no período, que podemos identificar por soma_do_periodo, depois há divisão por 5.0, cujo quociente devemos chamar de media_movell media_movel= soma_do_periodo / 5.0; Escreva sem miséria; faça um laço exclusivo ou estrutura que ler os 5 primeiros valores do período e outro para os valores seguintes.
-
Então, entende de outro jeito. Vou tentar te fazer me entender. Suponha que o vetor é um seguimento de copos com água então os elementos são copos e o conteúdo é água. daí eu digo... Eu entendo que o índice de cada elemento é uma quantidade de água que devemos somar ao próximo copo. Depois a lista pede que repita o ‘item’ b, que é a impressão do vetor para ver o resultado.
-
Se estou certo, a soma substitui o conteúdo do vetor. vetor[i+1] += i;
-
Se estou certo, a Media Móvel é exibida apôs 5 pontos (valores lidos) e não antes disso. Então, é preciso guarda 5 valores, possivelmente em um vetor, para só então exibir a MM pela primeira vez. Porque depois da primeira exibição, a cada nova entrada se substitui a entrada mais antiga salva no vetor pela nova. No vetor, a entrada mais antiga muda de índice, por exemplo; começa no índice 0, e depois de uma entrada passa a ser o 1, e assim sucessivamente, até a chegar ao 4 para retornar ao 0. Essa é a ordem de substituição dos valores antigos por novos a cada entrada, depois de 5 entradas. Nesse ciclo de leitura, substituição e média só tem fim quando uma entrada é negativa.
-
"de cada", interpretei por repetição: em que o procedimento adiciona o índice do elemento atual ao valor do próximo elemento. Quando sobre o último, o próximo é o primeiro porque se imagina os elementos ligados sobre a forma de um círculo. e repete com os outros. Estranho é, se estou certo, ao elemento da segunda posição se adiciona 0, pois 0 é o índice da primeira posição. Você entendeu assim também?
-
Soma é uma escolha equivocada de palavra, melhor é Adição mesmo, e soma é o resultado da adição que por muitas vezes se refere a operação, inclusive no dicionário. ... e. Adição do índice de cada elemento ao conteúdo da próxima posição, exceto o (último) índice, que deve ser somado ao primeiro elemento; Índice é um valor inteiro que escala as posições do vetor. Ou seja, a primeira posição do vetor é o índice 0, segundo índice 1... Entendeu, sabe o que fazer?
-
C imprimir elementos diferente em dois vetores
Ansi C respondeu ao tópico de alberto __sil em C/C#/C++
@alberto __sil Queres saber quais elementos de A não pertence B; if( vet1[i] != vet2[j] ){ printf("%d ", vet1[i]); } Para cada elemento de vet1 teremos um total de 5 decisões, pois 5 é a composição de vet2. Então, se em todas as 5 comparações (vet1[i] difere de vet2) a função imprime 5 vezes, caso contrario, se vet[i] é igual a 1 ou + elementos em vet2 a função imprime 4 vezes, ou menos. Conclusão: Responde à questão os casos em que o número de impressões é 5, pois significa que todos os elementos em vet2 diferem de vet[i]. E também para cada 5 vezes só interessa vê o valor 1 vez, e para todo resto menor que 5 não precisa imprimir. A primeiro edição é apagar esse 'printf' e substituir por algo que permita contar o número de vezes, algo que sirva para comparar mais tarde com 5, e daí se é igual 5 Então imprimir vet[i]. Claro! Existem outras respontas, formas de responder, em C sempre há. Ok! Valeu. -
C erro ao digitar NOME DO ARQUIVO no compilador
Ansi C respondeu ao tópico de paulo luz magalhaes em C/C#/C++
@paulo luz magalhaes Ali está o site que você nos indicou, agora com o seu programa escrito e pronto para teste em dois arquivos (meu_bloco.txt e meu_bloco1.txt). Quero que você execute o programa e escreva o nome dos arquivos igual estão sobre as abas ao lado direito da main.cpp. Link >>> https://onlinegdb.com/SJroa_28u Se duvidar Pergunte OK, valeu! -
Bom Dia! Empenhe-se para encontrar a solução que analisa cada dígito de um inteiro decimal, a separação dos dígitos é uma operação iterativa sobre o número; cada ciclo revela o dígito na casa das unidades com operação de módulo e divide o número e assim repete até zerar. Cada novo dígito na revelação passa pela decisão Se é igual a x Então incrementa o contador, no final da iteração quando o número é zero retorna o contador. Tente escrever essa parte do problema. valeu!
-
@MQTTH boa noite... A necessidade de matriz é devido ao que é computação em três palavras: entrada -- processamento -- saída. A maneira que resolveu entrega os resultados. Entretanto, processamento e disposição (layout) de informação (Saída) são praticamento o mesmo procedimento. Supondo que essa etapa processamento (produto) é muito demorada e que você precise dispor os dados de muitas formas; com a matriz de produtos recalcular tudo para cada um dos formatos não é necessário. Basicamente, escreva um trio de produtos por ciclo sobre a matriz na linha do terminal com formatação de linha. for( ){ printf( "%d x %d = %d -- " "%d x %d = %d -- " "%d x %d = %d \n", ); }
-
(b > a) é FALSO A condição de execução do laço while está invertida, pois, na entrada B menor que A.
-
C erro ao digitar NOME DO ARQUIVO no compilador
Ansi C respondeu ao tópico de paulo luz magalhaes em C/C#/C++
Boa Noite / Dia / Tarde, Então vou te conta que você não sabe como usar o programa, irônico! Tirando gets "mimimi" ambos os códigos [@devair1010 @paulo luz magalhaes] funcionam sem alerta. Usei esse site aí. E na opção de C :: B, experimentei de caminho completo. Outra, na ocasião em que executável está na pasta do arquivo só o nome completo já basta! -
Python Contador com comportamento inesperado - Python
Ansi C respondeu ao tópico de ccsvaleriano em Programação - outros
Era pra 'zerar' qual variável? -
C++ Programa em C++ para conversão de segundos em dias, horas, minutos, segundos
Ansi C respondeu ao tópico de Rafael Ruy em C/C#/C++
Resolve se atribuir o resto da primeira conversão antes da segunda. sec= sec%3600 [Edit] Problema é que horas é o modulo de dias. dia= horas/24 horas= horas%24 -
C Programa só roda corretamente se eu colocar uma variável auxiliar para desbugar.
Ansi C respondeu ao tópico de Felipe Rattowisk em C/C#/C++
"Iteração em vetores" é o procedimento no qual se percorre os elementos contido nele... o número máximo de ciclos até o limite é igual o tamanho [do vetor] menos 1. Se a MAXP é o tamanho de um vetor então existem duas expressões a escolher PARA 'condição' ITERAR segura: Condição 1. i <= (MAXP - 1) Condição 2. i < (MAXP) escolha uma, faça o teste. -
C contar numero caracteres do arquivo texto
Ansi C respondeu ao tópico de paulo luz magalhaes em C/C#/C++
Já ouvi falar Serie de Livros Dummies, sua metodologia é focada no ensino e autoaprendizagem. Curiosamente, esse código lembra alguns exercícios deles. Sei disso porque uso na minha pática. Identifique os erros e corrija eles -- Arquivo é tradução da palavra FILE, um tipo composto de dados. Ao trabalhar com arquivos, você declara um ponteiro de FILE. Ele é necessário para comunicação entre o arquivo e o programa. -
O único problema está no parâmetro, que deve ser int matriz [3][2]. void inverterMatriz(int matriz[10][10]) { int mat1[2][3],i,j; printf("\nMatriz 2x3 - Transposta\n"); for(i=0;i<2;i++) { printf("\n"); for(j=0;j<3;j++) { mat1[i][j]=matriz[j][i]; printf(" %d ",mat1[i][j]); } } }
-
@907467 O enunciado é próximo deste? "Escreva um programa, na linguagem C, que solicita do usuário as dimensões de uma matriz [m x n] e um caractere, em seguida o programa escreve na tela a matriz de caracteres. Defina duas funções, uma que solicita o caractere, outra que escreve a matriz na telar." ENTRADA: 2 2 r SAÍDA: rr rr Observação: Use laços [‘loops’ em inglês] no procedimento que "escreve" a matriz de caracteres.
-
Tem igual se usar 'switch' que é outra estrutura de decisão, é mais rápida que as estruturas definidas por IFs com mesmo número de fluxos de controle e melhor na ocasião em que há muitos valores de resposta para uma mesma expressão, contudo essa expressão é sempre um inteiro ou se resolve em um. Acredito que já viu algo sobre a estrutura switch-case. Há alternativa, usar um vetor de ponteiro de função, é logicamente como switch, porém exige saber o básico de ponteiros. Por último, tem alternativa que exige o básico de loop com vetores e equação de 1o grau, é legal porque não precisa de estrutura de decisão, Ou seja 0 de IFs, o ponto fraco é ela toda, a estrutura de iteração [loop] com vetor, que se não estudou esses assuntos então sofrerá muito somente para evitar os IFs. Apresentei essa última opção apenas para conhecer, no final use 'switch' que no mínimo substitui 3 dos IFs do código.
-
C concatenar 3 strings usando ponteiros
Ansi C respondeu ao tópico de paulo luz magalhaes em C/C#/C++
O enunciado pede é uma função de concatenação com 3 parâmetros, OK. Só observei que está diferente em estilo se comparado a sua introdução com a void concatenar de 2 parâmetros que a propósito; usa notação de vetores e tem a mesma lógica. -
C concatenar 3 strings usando ponteiros
Ansi C respondeu ao tópico de paulo luz magalhaes em C/C#/C++
Reparei no teu "sentido", já havia notada sua opinião nos postes anteriores, então não há razão de se repetir e com argumentos semelhantes, visto que é essa é a sua opinião, E não sinto em discorda quando juga necessário a solução com nome strcat, muito bobeira, quando no momento interessa o procedimento. Por essa razão é enunciado: "uma função strcat", e por nenhuma outra. Isto "Escreva uma função strcat, na linguagem C, que recebe como parâmetro 3 strings: s1, s2, e sres" Interpreta-se "Escreva uma função de concatenação, na linguagem C, que recebe como parâmetro 3 'strings': s1, s2, e sres." O objetivo não é reescrever strcat ou coisa alguma, porém, é escrever uma função de concatenação com 3 parâmetros, só isso. Não precisa "ser visto" como, ou como dizem "interpretado", pois é o que é, e ponto final! Quem duvidar que pegue o dicionário e procure o verbo "Concatenar" e derivados na computação que a conclusão é simples de entender sem mais explicação: Aproposito, somar 'strings' não deixa a definição mais didático, mesmo se fosse python: onde o operador de concatenação e adição coincidem. Não é um bom exemplo enquanto se aprende C, e diferente de soma [ou adição] de números, o resultado de uma concatenação é uma sequência lógica de seus termos, e não "pode ser visto como" somar. O enunciado não pede explicitamente que implemente somente uma função, nem ao menos é didático para chegar a essa conclusão. Só repetir a mesma lógica de strcat a depender do número de parâmetros, e reutilizar essa solução para um número maior de argumentos, isso é tão coeso quanto "um par de simples loops" simbolizando strcat cada um. Mais um motivo para citar strcat. Não resta dúvida que essa é uma boa prática. Isso está mais para uma recomendação futura de adaptação simples quando é necessário. Cada qual desenvolve seu estilo pessoal que muitas vezes é resultado da experiência de muitos trabalhos em muitos empregadores. que não tem relevância agora e não precisa pensar nisso. Importante nesse momento de aprendizagem é escrever no estilo escolhido e pessoal onde se gosta mais do que vê, e deixar essas preocupações futuras quando for necessário porque não representam desafio para ninguém. -
C concatenar 3 strings usando ponteiros
Ansi C respondeu ao tópico de paulo luz magalhaes em C/C#/C++
Eu também, e outros! E quando precisamos de 3 'strings' e tantas outras, chamamos a mesma função outra vez, mas com uma condição; o destino da primeira chamada [ou resultado] é também o destino na segunda chamada, e de tantas outras, sucessivamente. Sugestão.: Tente a solução que retiliza aquele código do primeiro post, é igualmente fácil de fazer. Exemplo: A usar tua void concatenar () com algumas mudanças de estilo, fica assim: char * strscat (char sres [], const char s1 [], const char s2 []) { concatenar_em (sres, s1); /* primeira concatenar */ concatenar_em (sres, s2); /* segunda concatenar */ return sres; } Estilística.: para evitar conflito, não reutilize nomes que há em palavras reservadas ou na biblioteca padrão. Quando identificar tuas funções tente ser descritivo, de nomes curtos e criativo. Se lhe falta criatividade dê nome semelhante, sem ser o mesmo, por exemplo: str_cat ().
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