Ir para conteúdo
Fórum Script Brasil

britivaldo

Membros
  • Total de itens

    199
  • Registro em

  • Última visita

Tudo que britivaldo postou

  1. Impossível assim, pois *.exe são escritos em linguagem de máquina (amotados de comandos em 0s e 1s), o que para resolver esse problema use um programa de engenharia reversa, nunca usei um desses só ouvi boatos a respeito de como funcionam, basicamente, decodificam a linguagem de máquina com uma grande margem de erro para outra.
  2. Olá, tudo certo!? Então ... Está sobrando essa função pont_zero que foi mal elaborada. A ordem dos fatos pode ser essa: Declarar as variáveis( variáveis e ponteiros ); Atribuir o valor das referências nos respectivos tipos de ponteiro; Imprimir o valor nas variáveis usando as variáveis; Modificar as variáveis por meio dos seus respectivos ponteiros atribuindo os valores solicitados no enunciado; Imprimir novamente o valor nas variáveis usando as variáveis (e não os ponteiros).
  3. Eu entendi que, o índice do maior número no vetor é tudo que precisamos. ... int maior= 0; int atual= veto_tamanho; while( 0 <-- atual )if( vetor[ maior ] < vetor[ atual ] )maior= atual; ... printf( "O maior número é %d e o seu índice é %d\n", vetor[ maior ], maior ); é so mais uma forma de se obter o resultado, nada mais
  4. Então ... Estamos falando sempre de uma matriz quadrada que pode no mínimo ser 1x1 e no máximo ser 5x5. A comprimento da diagonal principal, ou seja, o número de elementos que pertence a diagonal principal da matriz, é igual ao comprimento dos seus lados. Assim sendo, uma matriz 3x3 tem d-principal de comprimento 3. Assim sendo, o vetor para alberga essa diagonal tem largura igual a 3. Outro aspecto geométrico é que, o par ordenado dos elementos da matriz principal tem seu componentes iguais. Assim sendo, para o nosso exemplo sempre teremos i == j, basta percorres varrer todos elementos da matriz para um só i, ou para só j não havendo a necessidade de verificar se i é igual a j. Tanto para linhas, quanto para colunas da matriz os valores serão 0 até 3, para o nosso exemplo. É simples de implementar, e poderá ser igual a sim: for( int x= 0; x < 3; ++x ) { /**> A soma do elemento na diagonal principal multiplicada por RU **> é atribuindo, logo depois do calculo, no índice coeso do vetor. **/ vetor_ints[ x ]= ((matriz0_ints[ x ][ x ] + matriz1_ints[ x ][ x ]) * RU); } Imprimir vai ser igual, exceto pelo calculo e pela presença de uma função de saída para o prompt. for( int x= 0; x < 3; ++x ) { printf( "%d ", vetor_ints[ x ] ) }
  5. Olá, tudo certo!? Então ... Seguindo a ordem dos quesitos no enunciado do exercício, qual parte você não está conseguindo. Observação: Apesar do prazo tenha selo e gosto pelo que está fazendo, porque quando publicar teu código para apreciação de outros; alguns notaram nele o seu empenho. /**> Enunciado do Programa **> --------------------- **> Faça um algoritmo em linguagem C com as seguintes funcionalidades: **> a) Receba duas matrizes como dados e entrada. A dimensão das matrizes deve **> ser de, no máximo 5x5. Ambas matrizes de-vem ter as mesmas dimensões; **> b) O usuário deve digitar a dimensão das matrizes (máximo 5x5). Faça uma **> checagem usando um laço de repetição que só permita o programa avançar caso **> ele digite dimensões corretas de no máximo 5; **> c) Escreva ambas matrizes na tela, de uma forma legível; **> d) Escreva a matriz resultante da soma destas duas matrizes multiplicada **> pelos últimos dois números da sua matricula da UNINTER; **> e) Escreva um vetor resultante da soma das diagonais principais das duas **> matrizes multiplicado pelos últimos dois números da sua matricula da **> UNINTER; **/
  6. britivaldo

    ajuda em um codigo

    Olá, tudo certo!? Então ... O procedimento e o enunciado são claros, os parâmetros formais da função do problema são para transferência de dados do tipo nota, sua estratégia determina como o tipo real (flutuante) será passado. São 4 notas, por tanto, melhor usar quatro variáveis ou um vetor de 4 posições (particularmente vetores quando os dados são do mesmo tipo). Escolha o tipo de variável o nome da função e o método de transferência. Essas são as suas escolhas, já com relação ao retorno da função, isso o enunciado também já definiu e como sendo do tipo inteiro com 3 variações únicas de resposta (1, 2 ou 0). Atenção que a função não faz nada alem de retorna as 3 possíveis statos do aluno, se ela (a função) fizer qualquer outra ação, por exemplo imprimir ou solicitar dados essa função será logicamente de baixa coesão (termo da engenharia de software). Aqui são 2 exemplos de protótipos para função (adicionei mais uma ação, logicamente retorna a média que ela calculou por um parâmetro de saída ) int nota_statos( const float notas[ 4 ], const float notas_pesos[ 4 ], float notas_media[ 1 ] ); /* ou pode ser assim */ int nota_statos( float not1, float pes1, float not2, float pes2, float not3, float pes3, float not4, float pes4, float media[ 1 ] );
  7. Exatamente! Não tem como o programa saber sozinho que o usuário chegou ao fim, é necessário definir um sinal que tanto o usuário quanto o sistema saibam o seu significado. Só tome cuidado para que esse sinal não tire o sentido da questão. Por exemplo; não pode ser 0 porque o sistema tem que armazenar todos os valores pares digitados e de acordo com a nova matemática. como já se sabe. 0 é inteiro e par. A situação mais obvio é parar a leitura depois que o operador digitar enter, ou seja, ele digita todo os valores que deseja antes de teclar enter, quando o fizer, o sistema começa a ler os dados e para quando achar enter no fluxo. Observe que fica bem fácil de compreender como acontece: Faça a mensagem de apresentação explicado para o operador como funciona o sistema. A cada leitura de um inteiro verifique se o próximo caractere no fluxo é um caractere de espaço ou de nova linha (o ENTER) se espaço continua a loop se enter então interrompe a leitura. Outra sentença que faz parte da proposição de controle da declaração de repetição é se o número de inteiros lidos ainda é menor que 100, pois quando não for independente de enter ou de inteiro o loop vai termina. Essa expressão no loop pode ficar assim ... do { ... } while( (' ' == getchar())&&(100 > (++N)) );
  8. Olá, tudo certo? Então ... A função scanf retorna um inteiro com a quantidade de dados capturados, se a função scanf falha ela retorna EOF, em todas as leituras ela retorna 0 se o dado no fluxo de entrada é incompatível com o string de formatação. Implemente expressão de controle que permita avaliar a valor de retorno na função scanf e decidir com base em seu valor a melhor ação a ser tomada. Algoritmo S (de scanf pega Int) S0: s ← scanf S1: Se (0 EQU s) OR (eof EQU s) Então: S0 ▋
  9. Agora acho que entendi. E Concordo que sim em algum momento outros usuário se guiaram por essa postagem por isso se fazer entender é muitíssimo importante. Obrigado.
  10. Mudar a saída não tem relação alguma com a ordem em que os número são mostrados. Como demostrei acima independe da saída.
  11. Olá, tudo certo!? Então... Na codificação decimal-binária o último bit convertido é o mais significativo, são determinados pela divisão de um número inteiro positivo por 2, o resto dessa divisão sucessiva inteira é sempre um bit que cada vez fica mais significativo a medida que progrida a divisão, ou seja, o último bit da conversão é o mais significativo. O método por função recursiva consiste em continuar a divisão até que o valor do denominador não seja maior que 1, o quociente de cada divisão é o denominador da próxima. Logaritmo D (de conversão decimal-binário) D0: Func( num ) D1: Se 1 MENOR num : Func( num DIV 2 ) D2: Exibir num MOD 2
  12. Olá, tudo bem!? Então ... Diga-nos o que estudou para que assim saibamos o seu nível, depois poste sua dúvida seguida de uma tentativa legítima de solução. Para o problema: Você terá que ler 3 dados, hora, minutos e segundos depois deverá grava essas informações convertendo-as em segundos, lerá novamente e novamente gravará em outro local a conversão em segundos. Subtraia a primeira conversão da segunda, após converta o resultado de segundos em horas, o restante em minutos e segundos exiba essa terceira conversão na tela pois ela é a resposta da pergunta. Cuidado com a conversão na virada do relógio. Ou seja, 23 para 0. Tente esse programa e faça perguntas quando quiser.
  13. Você vai precisar de estruturas de repetição; precisa apenas de um tipo de estrutura para resolver esse exercício pode ser FOR, WHILE, DO WHILE até GO, escolha uma e se aprofunda em seu uso. Tão somente isso. Os procedimentos para o seu programa são apenas 3. Que poderiam ser eles os pilares do sistemas. Entrada Processamento Saída Para seu exercício você deve escolher como os dados entram (Entrada) defina isso, pode ser por linha de comando do arranque do sistema, ou pode ser por leitura do teclado. Para o processamento você vai precisar da estrutura de repetição que falta para esse exercício, pode acaba necessitando também de declaração(ões) de decisão ( IF ELSE ). Você vai entender que a adição de 1 à uma letra é ou pode ser outra letra quando estudar a sequência de caracteres da table ASCII. Para a saída usará função printf, pois é padrão de saída para console ou terminal do sistema operacional. Projete a partir de 1 dos três pilares, faça isso individualmente, haja vista que independes eles são sub-rotinas do sistema como um todo O encriptador. Existem na internet vários exemplos desse sistema, vença o desejo de pesquisa exemplos, antes tente faze-lo sozinho. Depois nos mostre seu trabalho, ou então nos diga outras dúvidas se surgirem.
  14. É preciso antes de tudo saber o seu nível de conhecimento da linguagem você pode começar por exemplo nos dizendo até onde começa e onde termina o seu conhecimento em C.
  15. Sintaxe malloc( sizeof (int[limite]) )/* em C isso é análogo a isto */new int[limite]
  16. #include <stdio.h> #include <stdlib.h> int main( void ) { int * pont; int limite, soma= 0, x; printf( "Digite a quantidade de numeros que desejas armazenar: " ); scanf(" %d", (& limite) ); /* terá problemas se o cara digitar um valor negativo */ pont= malloc( sizeof (int[limite]) ); if (pont == NULL) { printf("Memoria insuficiente para armazenar estes numeros."); system("pause"); return 0; } printf("Digite os %d numeros desejados \n", limite); for( x= 0; x < limite; ++x ) { printf( "Digite o %d numero: ", x + 1 ); scanf( " %d", (pont + x) ); soma+= (* (pont + x)); } printf( "Numeros digitados: \n" ); for( x= 0; x < limite; ++x ) { printf( "%d ", (* (pont + x)) ); } printf("\n\nSoma dos numeros armazenados: %d \n", soma); system("pause"); return 0; }
  17. Desculpa mais eu entendi de forma diferentes este último (o vetor dos primos) deve ter (ele foi) multiplicado...
  18. Não é para imprimir todo os números ímpares, é para imprimir os ímpares multiplicados por dois últimos dígitos do RU. No código não da certo porque não está escrito para faze-lo
  19. Imprima o produto para de cada número ímpar do vetor de ímpares, o produto é número ímpar no vetor vezes os últimos dígitos do teu RU.
  20. Em acredito ter entendido, Então suponho que ele deseje uma definição só para as duas coisas ( Alíquota e dedução ) que acontece dentro da mesma estrutura de decisão. Isso é implementado numa função que recebe por parâmetro o salário_inicial do trabalhador e retorna o imposto, daí esse retorno é a Alíquota e ( Parcela a deduzir do IRPF) na condição de um valor retornado. /* @authr AnsiC Base de Cálculo (R$) -------------------- Alíquota (%) Parcela a deduzir do IRPF (R$) Ate 1903,98 De 1903,99 até 2826,65 7,5 142,80 De 2826,66 até 3751,05 15,0 354,80 De 3751,06 até 4664,68 22,5 636,13 Acima de 4664,68 27,5 869,36 Escreva um programa em linguagem C que receba como dado de entrada a base de cálculo mensal de um trabalhador (seu salário) e 1- E retorne o imposto de renda devido; 2- Imprima na tela um exemplo contendo o salário do trabalhador o imposto devido e o salário final já com este desconto. */ float imposto_de_renda( float salario ) { if( (4664.68 <= salario) )return(salario * 0.275 - 869.36); if( (1903.99 <= salario)&&(salario <= 2826.65) )return(salario * 0.075 - 142.80); if( (2826.66 <= salario)&&(salario <= 3751.05) )return(salario * 0.150 - 354.80); if( (3751.06 <= salario)&&(salario <= 4664.68) )return(salario * 0.225 - 636.13); return (0); } Obrigado.
  21. Ah também me ocorrera usa de casting do valor flutuantes só que, larguei mão de multiplicação e do modulo. Assim sendo, primeiro capturar-se os dados de forma com você fez, depois aplico o casting daí quando aplicado o casting a parte flutuantes e por implementação truncada, ou seja, r-value conterá apenas a parte inteira do valor dispensando a operação de resto (% modulo) ... Também acho o use de casting a melhor forma mesmo.
  22. Eu não vou editar, deixo isso para você, porém te mostro um para você ver.
  23. Muito fácil, já respondi usei apenas um loop e uma condição ou expressão de controle que seleciona para soma e incremento apenas as ocorrências com valores que são maiores que 0. Depois divide pelo número de ocorrência e obtive a média aritmética dos valores positivos. Mais alguma pergunta?
×
×
  • Criar Novo...