Ir ao conteúdo
  • Cadastre-se

felipe-rj

Membro Pleno
  • Posts

    57
  • Cadastrado em

  • Última visita

  1. A função tan da biblioteca Math do Java retorna a tangente trigonométrica do argumento e o argumento é um grau em radianos. O resultado de tan(1) é esse mesmo que você postou, dá uma conferida aqui: http://www.wolframalpha.com/input/?i=tan%281%29
  2. Isso você faz com contadores e acumuladores. Por exemplo, um acumulador para armazenar o salário de todas as pessoas do sexo feminino seria uma variável do tipo float e um contador para armazenar a quantidade de pessoas do sexo feminino seria uma variável do tipo int. Depois, para calcular a média basta dividir o acumulador pelo contador. Seria mais ou menos assim: float somaSalariosMulheres = 0; // acumuladorint quantidadeMulheres = 0; // contadorchar sexo[100];float salario[100]; (...) for (int i=0; i<100; i++){ // for para percorrer os vetores (...) if (sexo[i] == 'F'){ // não tenho certeza se a comparação é feita assim, mas acho que sim somaSalariosMulheres += salario[i]; // isso é o mesmo que somaSalariosMulheres = somaSalariosMulheres + salario[i]; quantidadeMulheres++; // isso é o mesmo que quantidadeMulheres = quantidadeMulheres + 1; } (...) } // fim do laço for // calcular a média (...) Sendo que você terá que fazer um procedimento parecido para calcular as outras médias também.
  3. Notei alguns erros no código: o vetor vet não está sendo usado, pode ser deletado. não precisa da variável y, pode deletar também. não usa a mesma variável nos dois laços. Num laço você tá usando a variável i, no outro laço usa outra variável (j, por exemplo). nos dois laços for, compara com o valor de x, porque você tá desenhando um quadrado, então a largura e a altura vão ser os mesmos. E do jeito que você está fazendo (i <= x), i e j têm que começar valendo 1, senão o quadrado não vai ficar com as dimensões desejadas. Quando terminar de desenhar uma linha (no final do for), pula uma linha, senão vai ficar tudo desenhado numa linha só. Para desenhar o ":" compara se i == j. Para ler o valor de x faz assim: scanf("%d", &x); Qualquer dúvida, posta aí.
  4. Pode ser feito com 4 vetores de tamanho 100: um vetor para sexo, um para idade, um para renda e um para escolaridade. As outras operações dá pra fazer usando laços e condicionais.
  5. Você pode criar uma variável int (qtdPrimos = 0, por exemplo) e ir verificando dentro de um laço se o números inteiros são primos começando do 1. Se o número for primo, você incrementa a variável (qtdPrimos++). Esse laço vai ser executado até que qtdPrimos == primeiroInt (considerando que essa variável armazena o primeiro valor digitado pelo usuário). Quando o laço terminar, você já terá o primeiro valor a ser exibido. Depois você faz outro laço que vai rodar a quantidade de vezes do segundoInt (o segundo valor digitado pelo usuário), verificando se os números são primos e os escrevendo caso sejam primos. Caso ainda não consiga fazer, posta aí...
  6. Você pode fazer um for dentro do outro usando, por exemplo, uma variável i para controlar um for e uma variável j para controlar o outro for (e é claro, o valor de n terá que ser usado para limitar a quantidade de vezes que os laços serão executados). Dentro do for mais interno você vai desenhando o quadrado escrevendo '+', a não ser quando i for igual a j, pois nesse caso você deverá escrever ":".
  7. As posições da sua matriz estão assim: 11 12 13 14 21 22 23 24 31 32 33 34 41 42 43 44 Repara que os elementos da linha 3 começam com 3 (i = 3) e os elementos da coluna 2 terminam com 2 (j = 2). Então, pra somar os elementos da linha 3 faz novamente um for dentro do outro, mas antes de somar os elementos verifica se i = 3. Para somar os elementos da coluna 2 é só seguir o mesmo raciocínio acima. Ah! Uma coisa que reparei é que você não está somando os valores, está apenas incrementando de 1 em 1 a variável s, estou falando desta linha: s:=s+1; Essa soma vai ser sempre 16 (porque existem 16 posições na matriz). Tem que corrigir isso. Caso não tenha entendido, posta aí...
  8. Olá. Não pode colocar o *argv diretamente no ifstream? ifstream texto (*argv);
  9. Bom dia! Tenho o seguinte trabalho da faculdade pra fazer: "Especificar um trigger para um SGBD relacional que mantenha um log de todos usuários que logarem no banco de dados em uma tabela no horário comercial (8:00 - 18:00) e que elimine qualquer conexão após este horário, exceto se a conexão for de um usuário com nome DBA_SUPER. Assuma que existe uma tabela com nome log_user para guardar as informações de auditoria de logon." Estou tentando o código abaixo: CREATE OR REPLACE TRIGGER LOG_USUARIOAFTER LOGON ON DATABASE SELECT SID, SERIAL#FROM V$SESSIONWHERE USERNAME = SYS_CONTEXT('userenv','CURRENT_USER') SELECT SYS_CONTEXT('USERENV', 'CURRENT_USER'),SYS_CONTEXT( 'USERENV', 'HOST' ),SYS_CONTEXT( 'USERENV', 'IP_ADDRESS' ), SYS_CONTEXT( 'USERENV', 'OS_USER' )INTO current_user, host, ip_adress, os_user FROM dual; BEGIN IF(TO_CHAR(SYSDATE, 'HH24:MI:SS') BETWEEN '08:00:00' AND '18:00:00') INSERT INTO LOG_USER VALUES (current_user, host, ip_adress, os_user, TO_CHAR || TO_CHAR(SYSDATE, 'DD-MM-YYYY HH24:MI:SS')); ELSE IF (current_user != DBA_SUPER) EXECUTE IMMEDIATE 'ALTER SYSTEM KILL SESSION '''||<SID>||','||<SERIAL>||''''; END; O Oracle tá sublinhando o "logon" e dando o seguinte erro: ORA-04079: especificação de gatilho inválida 04079. 00000 - "invalid trigger specification" *Cause: The create TRIGGER statement is invalid. *Action: Check the statement for correct syntax. Alguém pode me ajudar? Grato.
  10. felipe-rj

    Questão de Vetores

    Faz um laço for pra percorrer o vetor e vai fazendo x mod 2 para saber se x é par ou não. Se x for par coloca num vetor auxiliar, se x for ímpar pula. Depois que já tiver percorrido todo o vetor, percorre de novo mas agora colocando no vetor auxiliar os ímpares. É bom ter variáveis do tipo int pra contar o número de pares e o número de ímpares. Depois passa os números do vetor auxiliar para o vetor original comparando os pares entre si para fazer a ordenação. Depois faz a mesma coisa com os ímpares. Deve funcionar.
  11. Se a lista tiver um elemento só, é só remover esse elemento. Se tiver mais de um, o elemento anterior ao último terá que deixar de apontar para o último.
  12. Tirei essa linha: scanf (" %c",s[1]);getchar(); getchar(); Coloquei essa no lugar: scanf (" %c", &s); E funcionou. Sobre a segunda pergunta: comigo nunca aconteceu isso, qual compilador que você usa?
  13. Eu mudei duas linhas no código e compilou no DEV. Não tenho certeza de que vai funcionar corretamente, mas você pode tentar testar... typedef struct p povoados; fscanf(*arq_entrada, "%d %d %d \n ", &inst.povoado->chave, &inst.povoado->peso, &inst.povoado->habilidade);

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