Ir ao conteúdo

Midori

Membro Pleno
  • Posts

    3.601
  • Cadastrado em

  • Última visita

Tudo que Midori postou

  1. Assim a função pow não tem utilidade no código já que só está calculado a potência, mas você não usa o valor dela com o cálculo. Então faltou mostrar o retorno no printf, printf("\n%i elevado a %i = %lf", num, numP, pow(num, numP)); Veja os warnings do compilador que apontou algumas linhas no seu código, main.c:13:8: warning: zero-length gnu_printf format string [-Wformat-zero-length] 13 | printf(""); Esse printf pode ser removido já que não tem nada para mostrar. main.c:26:16: warning: returning ‘double (*)(double, double)’ from a function with return type ‘int’ makes integer from pointer without a cast [-Wint-conversion] 26 | return pow; Para a função main é esperado o retorno inteiro, normalmente costuma ser return 0 e em outras situações pode ser return 1.
  2. Midori

    C Fazer algoritmo em C

    @robento Se sabe declarar variáveis, ler e imprimir um valor poderá começar e apontar a sua dificuldade no desenvolvimento do código. Mas se não sabe nem por onde começar, acho que devia procurar um livro ou apostila para aprender o básico.
  3. @Fídias Torres Aqui deu erro de "list index out of range". Isso acontece na tentativa de acessar um elemento inexistente. Se mostrar os valores das suas variáveis posit, posit2 ou posit3 verá que alguma está fora do limite da lista.
  4. @Luciana Goes Já está resolvido, mas como eu tinha começado vou postar o que fiz, Function AreaGrupoMateriais(Codigo As String) As String Dim Plan As Worksheet Set Plan = ThisWorkbook.Sheets("SUGESTÃO PARA CONDICIONAL") If WorksheetFunction.CountIf(Plan.[1:1], Codigo) <> 0 Then Dim Coluna As Integer Dim Linha As Long Coluna = WorksheetFunction.Match(Codigo, Plan.[1:1], 0) Linha = WorksheetFunction.CountA(Plan.Columns(Coluna)) - 1 If Linha > 0 Then AreaGrupoMateriais = Plan.Cells(2, Coluna).Resize(Linha).Address AreaGrupoMateriais = "'" & Plan.Name & "'!" & AreaGrupoMateriais End If End If End Function Private Sub ListBox1_Click() ListBox2.RowSource = AreaGrupoMateriais(ListBox1.Value) End Sub
  5. @oromotoceu Use o botão Code para postar o seu código, assim fica mais organizado e melhor para ler. Nos dois exercícios você está passando um vetor como argumento para a função, mas o enunciado não diz nada sobre vetor. No primeiro só pede para passar dois números e no segundo são as coordenadas de dois pontos. Sobre esta parte, Para retornar a distância seu calculo deve ter as coordenadas dos dois pontos: √[(x1 - x2)² + (y1 - y2)²], p.ex, float qx = (x1 - x2) * (x1 - x2); float qy = (y1 - y2) * (y1 - y2); return sqrt(qx + qy);
  6. Outra alternativa gratuita é o Microsoft Visual Studio Community.
  7. @joaovitor0198 Não precisa da variável da soma, o critério pode ser enquanto filho1 + filho2 < didi. E no loop faça o incremento das variáveis.
  8. @Fídias Torres O que quer dizer com "transformar o nome em uma lista" seria algo assim? nome = 'Teste' lista = list(nome) print(lista)
  9. @Fídias Torres Dá IndexError na linha em que tenta pegar o valor das listas r1 e r2, isso porque nada foi adicionado nelas. Se imprimir o tamanho com len verá que é zero.
  10. Vetor é só um conjunto de mesmo tipo de dado que são posicionados em áreas contíguas de memória, p.ex, char nome[100]; Essa declaração vai reservar na memória 100 posições do tipo char, assim poderá atribuir e pegar valores dessas posições pelo índice deles, nome[0] = 'a'; nome[10] = 'b'; char A = nome[0]; char B = nome[10]; Nas duas primeiras vai atribuir as letras nas posições 0 e 10 do vetor e nas outras vai pegar esses valores e atribuir a outras variáveis. Na declaração com 100 elementos você pode acessar as posições de 0 a 99. E quando o seu código faz esta comparação, só está lendo os valores da posição i. if(nome[i] >= 'a' && nome[i] <= 'z') O tipo char guarda um valor inteiro de acordo com a tabela ASCII e se consultar a tabela verá que o valor decimal da letra 'a' é 97 e da letra 'z' é 122. Com a condicional poderá contar a quantidade de letras minúsculas já que fará o teste se o caractere está entre 'a' e 'z' ou 97 e 122.
  11. @Marclus Série é uma sequencia de somas de termos. Para efetuar essas somas é só fazer a sua estrutura de repetição while ou for com a quantidade de ciclos que achar melhor já que o enunciado não especifica isso. Na sua função é só implementar a série, Veja que nos termos o numerador é x (o mesmo valor passado como argumento para a função) que pode ser elevado ao contador do loop e o denominador é o fatorial do contador. Com três variáveis você pode calcular a série: Uma para o contador, outra para o cálculo do fatorial e a da soma que será o retorno da função.
  12. @JF_ Loop é uma estrutura de repetição e também é conhecido como ciclo ou laço. Em C++ há mais de um comando para isso e for é um deles, esta é a sintaxe, for(inicialização; condição; incremento) No seu código você pode declarar e iniciar a variável que será o contador do loop. A condição de parada do loop é quando chegar a 10. for(int i = 0; i <= 10; i += 1){ } A variável i é o contador, ela começa com zero e será incrementada a cada loop até chegar a 10 e será um dos fatores da multiplicação da sua tabuada, p.ex, printf("3x%d = %d\n", i, 3 * i); Assim dentro do loop vai multiplicar o contador por 3 e mostrar o resultado.
  13. Esse código vai compilar normalmente em C++, mas nessa linguagem costuma-se usar as funções de iostream em vez de stdio como você fez. O seu código ficaria mais simples com um loop já que bastaria uma linha nele para mostrar a tabuada.
  14. @Bloonsky Para a entrada de strings não precisa do operador &. E apenas um loop é necessário para resolver. Declare duas variáveis inteiras para armazenar os valores que serão mostrados com as quantidades dos números e das letras. Sinais e pontuações são desconsiderados, veja que o enunciado não conta o sinal de menos. Uma forma de pegar apenas as letras no caso das minúsculas pode ser assim, if(nome[i] >= 'a' && nome[i] <= 'z') Outra seria com uma função nativa.
  15. @GENECIOFICIAL No código considerei a unidade D para listar na coluna um o caminho e na dois a data doS arquivos na raiz, veja se é isso, Sub ListarArquivos() Dim Arquivo As String Dim Linha As Long Arquivo = Dir("D:") While Arquivo <> "" Linha = Linha + 1 Cells(Linha, 1) = Arquivo Cells(Linha, 2) = FileDateTime(Arquivo) Arquivo = Dir Wend End Sub Para pegar uma data e extensão específica é só colocar a condicional.
  16. @luizdeath O loop pode ser usado para selecionar as planilhas, mas para copiar os ranges é preciso ter um critério para colocar no código as células devem ser copiadas. São sempre as mesmas de cada planilha? São as últimas de alguma coluna específica? Nesse código que postou está selecionando pastas diferentes e copiando células da coluna A. Se possível anexe um modelo para deixar mais claro ou explique o que quer fazer. A cópia é em outra pasta? Qual o critério? E devem ser coladas onde e de que forma?
  17. A barra é uma forma de deixar o código mais fácil de ler (ou mais organizado se preferir) com os comandos em mais de uma linha. Sem isso teria que escrever tudo na mesma linha.
  18. @Catarina Lima A sua condicional deve testar um espaço vazio e no seu código só tem as aspas, então faltou o espaço. Antes de adicionar o valor na lista converta para inteiro. E na sua condicional onde testa a variável valor, mostre na ordem como pedido no enunciado.
  19. @luizdeath No trecho que mostrei as planilhas que serão copiadas são referentes a variável Planilha. Outro exemplo, For Each Planilha In ThisWorkbook.Worksheets MsgBox Planilha.Name Stop Next Planilha Quando rodar o loop vai mostrar o nome de cada planilha (se quiser continuar o loop digite F5 quando parar no Stop), então no seu código substitua a parte que faz a cópia por essa variável. Você pode também colocar uma condição para pular qualquer planilha como a que vai receber os dados.
  20. @gcrestudante O critério do seu loop deve ser "quadrado < n". No último printf o texto e os especificadores devem ficar como primeiro argumento e as variáveis para os demais, p.ex, printf("Maior Quadrado menor que %d = %d\n", n, maiorQ); E seu código pode ter uma condicional para testar se a entrada é menor ou igual zero.
  21. @GENECIOFICIAL Com macro é possível listar as unidades ativas e a partir de cada fazer a busca com base na data (modificação, último acesso ou criação). Se os arquivos ficam na raiz ou no mesmo diretório será mais fácil listar.
  22. @luizdeath Uma das formas de fazer um loop nas planilhas é com For Each, p.ex, Dim Planilha As Worksheet For Each Planilha In ThisWorkbook.Worksheets Next Planilha Aí é só colocar a sua macro para copiar as planilhas.
  23. @Geovane Oliveira Censo Veja se assim resolve, =P2*(1+ÍNDICE('Tabela Selic'!$A$1:$K$13;MÊS(D2)+1;CORRESP(ANO(D2);'Tabela Selic'!$1:$1;0))/100)
  24. @Geovane Oliveira Censo A otimização é para pegar automaticamente o valor na tabela com base no mês/ano da célula Q1?
  25. @Cairo Alberto Se sua função já recebe a base como argumento, o cálculo no loop podia ser com essa variável e não com uma constante como fez ao usar o número 2. Com o valor do parâmetro o mesmo loop vai servir para qualquer base passada como argumento para a função (no caso da 16 faça a condicional para trocar colocar or letras de A a F). E a função também poderia ter o parâmetro com o número da base 10, assim é só passar os dois valores para a função retornar o número convertido, p.ex, QString NNatural::mudarBase(int numero, int base)

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!