Ir ao conteúdo
  • Cadastre-se

XIXX

Membro Pleno
  • Posts

    23
  • Cadastrado em

  • Última visita

Reputação

19
  1. Escreva um algoritmo para controle de DVDs em uma locadora, os dados a serem armazenados são: código, título e tipo (romance, comédia, ação e drama). Utilize listas sequenciais para implementação e apresente um menu com as seguintes opções: 1 – Inserir 2 – Imprimir tudo 3 – Consultar por tipo 4 – Sair
  2. Alguem poderia me dar uma ajuda nesse exercicio: "Fazer um programa que leia duas sequências de N inteiros em dois vetores distintos, digamos, V e W e verifique se um vetor é uma permutação do outro, isto é, eles tem os mesmos elementos mas em ordens diferentes. Não vale ordená-los previamente."
  3. 1) Escreva um algoritmo que calcule o número de notas e de moedas que deve ser dado de troco para um pagamento efetuado. O algoritmo deve ler o valor a ser pago e o valor efetivamente pago. Supor que o troco seja dado em notas de 50, 20, 10, 5, 2 e 1 real. Resposta: #include <stdio.h> #include <stdlib.h> #include <locale.h> int main() { setlocale(LC_ALL,"Portuguese"); int valor, valorpago, cem, cinquenta, vinte, dez, cinco, dois, um; printf("Digite o valor do saque \n R:"); scanf("%d", &valor); printf("Digite o valor que foi entregue \n R:"); scanf("%d", &valorpago); valorpago = valorpago - valor; cem = valorpago/100; valorpago = valorpago,cem; cinquenta = valorpago/50; valorpago = valorpago,cinquenta; vinte = valorpago/20; valorpago = valorpago,vinte; dez = valorpago/10; valorpago = valorpago,dez; cinco = valorpago/5; valorpago = valorpago,cinco; dois = valorpago/2; valorpago = valorpago,dois; um = valorpago/1; printf("O troco sera com %d notas de 100, %d notas de 50, %d notas de 20, %d notas de 10, %d notas de 5, %d notas de 2 e %d moedas de 1", cem, cinquenta, vinte, dez, cinco, dois, um); return 0; } adicionado 0 minutos depois 2) Escrever um algoritmo que gera e escreve os 4 primeiros números perfeitos. Um número perfeito é aquele que é igual à soma dos seus divisores. Ex: 6 = 1+2+3, 28 = 1+2+4+7+14. Resposta: #include <stdio.h> #include <stdlib.h> #include <locale.h> int numeroperf(int n){ int i, soma = 0; for(i = 1; i <= n/2; i++){ if(n % i == 0) soma += i; } if(soma == n) return 1; else return 0; } void divisores(int n){ int i; printf("%d = ", n); for(i = 1; i < n; i++){ if(n % i == 0) printf("%d, ", i); } printf("\n"); } int main() { int quantidade = 0, perfeito, i = 1; while(quantidade < 4){ perfeito = numeroperf(i); if(perfeito){ quantidade++; printf("%d: ", quantidade); divisores(i); } i++; if(i % 50000 == 0) printf("%d\n", i); } return 0; } adicionado 0 minutos depois Faça um algoritmo que a partir de dois vetores R e S, com 10 e 20 posições respectivamente, faça as seguintes funções: a) preencher os vetores com números aleatórios; b) gerar um vetor X correspondente à união dos vetores R e S; c) gerar um vetor Y correspondente à interseção de R e S. Resposta: #include <stdio.h> #include <stdlib.h> #include <locale.h> int main() { setlocale(LC_ALL,"Portuguese"); int r[10], s[20], aux, t, i, n, uniao[30], interse[10]; srand(40); for(i=0;i<10;i++){ r = rand()% 40; } for(i=0;i<20;i++){ s = rand()% 40; } for(i=0;i<10;i++){ for(n=0;n<10;n++){ if(r[n]>r){ aux = r[n]; r[n] = r; r = aux; } } } printf("Ordem primeiro vetor: "); for (int i=0; i<10; ++i){ printf("%d ", r); } for(i=0;i<20;i++){ for(n=0;n<20;n++){ if(s[n]>s){ aux = s[n]; s[n] = s; s = aux; } } } printf("\nOrdem segundo vetor: "); for (int i=0; i<20;i++){ printf("%d ", s); } printf("\nUnião: "); for(i=0; i<10; i++){ uniao = r; } for (n=0;n<20;n++){ uniao = s[n]; i++; } for (n=0;n<30;n++){ printf("%d, ", uniao[n]); } printf("\nInterseção dos vetores: "); for(n=0;n<20;n++){ for(i=0;i<10;i++){ if(s[n]==r){ interse[t] = r; printf("%d ", interse[t]); t = t + 1; } } } return 0; }
  4. @Mauro Britivaldo Estou tendo um pouco de dificuldade para começar a questão 1
  5. Número 02. #include<stdio.h> #include<stdlib.h> #include<string.h> int conta_vogais(char* str){ int i=0,contador=0; while(str!='\0'){ if((str=='a')||(str=='e')||(str=='i')||(str=='o')||(str=='u')||(str=='A')||(str=='E')||(str=='I')||(str=='O')||(str=='U')){ contador++; } i++; } return contador; } int main(){ char frase[100]; printf("digite uma frase:\n"); gets(frase); printf("O numero de vogais e: %d",conta_vogais(frase)); return 0; }
  6. 1) Crie uma função que receba 2 vetores de inteiros A e B com com capacidade para 10 inteiros cada. A função deverá calcular o fatorial de cada número de A e incluir o resultado na mesma posição de B. No método main, crie os dois vetores, preencha o vetor A com números aleatórios de 1 a 7, envie os dois vetores para a função e após o retorno imprima o conteúdo dos dois vetores. 2) Crie uma função que receba uma string como parâmetro e retorne quantas vogais essa string possui. No método main(), crie uma string, solicite ao usuário o preenchimento da string, envie para a função e imprima o retorno contendo o número de vogais da string. O exercício 3 é opcional, somente para reforçar o conteúdo da aula do dia 17/06. 3) Crie uma função que receba um vetor e calcule a média de uma quantidade qualquer de números informada pelo usuário. O programa (main) deve armazenar esses números em um vetor alocado dinamicamente, enviar para a função e exibir o resultado. Não esqueça de liberar a memória após o uso.
  7. Boa tarde galera, to com duvida nesse exercicio aqui, vou mandar o que eu fiz ate agora, mais nao estou conseguindo rodar o programa, alguem poderia me ajudar a achar o que esta de errado, preciso desse exercicio pra hoje. valeu turma Crie uma struct para o tipo data, contendo os campos dia, mês e ano. Escreva uma função que receba dois structs do tipo criado, cada um representando uma data válida, e devolva o número de dias que decorreram entre as duas datas. A estrutura será: typedef struct{ int dia; int mês; int ano; }data; O protótipo da função será: int calculoDias(data d1, data d2); //o retorno será o número de dias #include <stdio.h> #include <stdlib.h> #include <stdbool.h> typedef struct dma { int dia; int mes; int ano; }data; bool valida(struct dma data) { if (data.mes < 1 || data.mes > 12) return false; else { if (data.mes == 2) { if( ((data.ano % 4 == 0) && (data.ano % 100 != 0)) || (data.ano % 400 == 0)) { if (data.dia < 1 || data.dia > 29) return false; } else if (data.dia < 1 || data.dia > 28) return false; } else { if (data.mes == 4 || data.mes == 6 || data.mes == 9 || data.mes == 11) { if (data.dia < 1 || data.dia > 30) return false; } else if (data.dia < 1 || data.dia > 31) return false; } } return true; } int dias_decorridos(struct dma data_ini, struct dma data_fim) { int dias_no_mes[13]={0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}, tot_dias_ini, tot_dias_fim, i; tot_dias_ini = data_ini.ano * 365.2425; for (i=1; i<data_ini.mes; i++) tot_dias_ini += dias_no_mes; if( (((data_ini.ano % 4 == 0) && (data_ini.ano % 100 != 0)) || (data_ini.ano % 400 == 0)) && data_ini.mes > 2) tot_dias_ini++; tot_dias_ini += data_ini.dia; tot_dias_fim = data_fim.ano * 365.2425; for (i=1; i<data_fim.mes; i++) tot_dias_fim += dias_no_mes; if (((data_fim.ano % 4 == 0) && (data_fim.ano % 100 != 0) || (data_fim.ano % 400 == 0)) && data_fim.mes > 2) tot_dias_fim++; tot_dias_fim += data_fim.dia; return (tot_dias_fim - tot_dias_ini); }
  8. 1) Escreva uma função que receba um número inteiro que representa um intervalo de tempo medido em minutos e devolva o correspondente do número em horas e minutos (por exemplo, converte 131 minutos em 2 horas e 11 minutos). Use uma struct como a seguinte: typedef struct{ int horas; int minutos; }hm; Obs: É possível retornar uma variável struct em uma função. #include <stdio.h> #include <stdlib.h> typedef struct{ int horas; int minutos; float min, segundos; }hm; int main(void) { printf("Insira a quantidade de minutos: "); scanf("%f", &min); horas = min / 60; minutos = (int)min % 60; segundos = (min - (int)min) * 60; printf("Isso e igual a %dh, %dmin e %fs", horas, minutos, segundos); return 0; } Não estou achando o erro, alguém me ajuda ???
  9. Consegui fazer os dois. 1) Faça uma função que receba um vetor X de 30 elementos inteiros, gerados aleatoriamente com números de 1 a 100, por parâmetro, e retorna, também por parâmetro, dois vetores A e B. O vetor A deve conter os elementos pares de X e o vetor B os elementos ímpares. No método main() faça o preenchimento do vetor, envie para a função juntamente com os dois vetores que receberão os números pares e ímpares e imprima os três vetores. #include #include #include int aleatorio(int max){ return rand()%max+1; } void parImpar(int x[30], int a[30], int b[30]){ int i, cont_a = 0, cont_b = 0; for(i=0; i<30; i++){ if(x%2==0){ a[cont_a] = x; cont_a++; }else{ b[cont_b] = x; cont_b++; } } } int main() { setlocale(LC_ALL,"portuguese"); srand(time(NULL)); int x[30], a[30], b[30], i; for(i=0; i<30; i++){ x = aleatorio(100); a = -1; b = -1; } parImpar(x, a, b); printf("Vetor X:\n"); for(i=0; i<30; i++){ printf("[%d] ", x); } printf("\n\n"); i = 0; printf("Vetor A(pares):\n"); while(a!=-1){ printf("[%d] ", a); i++; } printf("\n\n"); i = 0; printf("Vetor B(ímpares):\n"); while(b!=-1){ printf("[%d] ", b); i++; } return 0; } 2) Crie uma função que receba, por parâmetro, uma matriz A(5,5), calcule o fatorial de cada um dos elementos da matriz, substitua o valor original de cada posição pelo valor do fatorial e retorne a matriz alterada. Utilize a função que calcula fatorial que já foi criada em outra atividade. Imprima a matriz no método main() antes e depois de chamar a função. #include #include #include int aleatorio(int max){ return rand()%max+1; } int fatorial(int n){ int i, fat=1; for(i=n; i>=1; i--){ fat = fat * i; } } void fatorialMatriz(int m[5][5]){ int i, j; for(i=0; i<5; i++){ for(j=0; j<5; j++){ m[j] = fatorial(m[j]); } } } int main() { setlocale(LC_ALL,"portuguese"); srand(time(NULL)); int mat[5][5], i, j; //preenche a matriz com números aleatórios for(i=0; i<5; i++){ for(j=0; j<5; j++){ mat[j] = aleatorio(10); } } printf("Matriz original:\n"); //imprime a matriz original for(i=0; i<5; i++){ for(j=0; j<5; j++){ printf("[%d] ", mat[j]); } printf("\n"); } fatorialMatriz(mat); printf("\n\n"); printf("Matriz alterada com o fatorial:\n"); //imprime a matriz modificada for(i=0; i<5; i++){ for(j=0; j<5; j++){ printf("[%d] ", mat[j]); } printf("\n"); } return 0; }
  10. pois é @devair1010 , também nao encontrei e nao estou conseguindo fazer elas kkk
  11. 1) Faça uma função que receba um vetor X de 30 elementos inteiros, gerados aleatoriamente com números de 1 a 100, por parâmetro, e retorna, também por parâmetro, dois vetores A e B. O vetor A deve conter os elementos pares de X e o vetor B os elementos ímpares. No método main() faça o preenchimento do vetor, envie para a função juntamente com os dois vetores que receberão os números pares e ímpares e imprima os três vetores. 2) Crie uma função que receba, por parâmetro, uma matriz A(5,5), calcule o fatorial de cada um dos elementos da matriz, substitua o valor original de cada posição pelo valor do fatorial e retorne a matriz alterada. Utilize a função que calcula fatorial que já foi criada em outra atividade. Imprima a matriz no método main() antes e depois de chamar a função.
  12. #include <stdio.h> #include <stdlib.h> #include <locale.h> int main(int n, int aux){ printf("Insira um valor entre 100 e 999: "); scanf("%d", &n); scanf("%d", &n); printf("%4d%4d\n", n, n); aux = n; n = n; n = aux; printf("%4d%4d\n", n, n); return 0; }
  13. 1) Crie uma função que receba um número inteiro de 100 a 999 e retorne esse número inteiro invertido. Por exemplo, se o número informado for 123, a função deverá retornar o número 321. No método main() solicite ao usuário um número inteiro, passe esse número para a função e imprima o número invertido retornado pela função. Importante: A função receberá um número inteiro e deverá retornar também um número inteiro. 2) Crie uma função que receba duas variáveis por referência e troque o valor das variáveis dentro da função. No método main() solicite ao usuário os valores das duas variáveis, imprima os valores, faça a chamada da função e imprima novamente os valores. Importante: A função não tem retorno, já que vai receber as variáveis por referência e não por valor.
  14. 1) Crie uma função em C que receba um número n inteiro positivo e retorne o seu fatorial. Faça a chamada da função e imprima o retorno no método main(). 2) Crie uma função em C que receba um número n inteiro positivo e retorne a soma de todos os seus antecessores. Faça a chamada da função e imprima o retorno no método main(). 3) Crie uma função que recebe a média final de um aluno por parâmetro (por valor) e retorna o seu conceito, conforme a tabela abaixo: Nota Conceito de 0,0 a 4,9 D de 5,0 a 6,9 C de 7,0 a 8,9 B de 9,0 a 10,0 A No método main(), solicite ao usuário uma nota, faça a chamada da função e imprima o retorno. 4) Crie uma função que receba um número real passado como parâmetro (por valor), retorne a parte inteira e a parte fracionária desse número por referência. Nesse caso, a função receberá 3 variáveis, o número real por valor, uma variável por referência para receber a parte inteira e uma variável por referência para receber a parte decimal. No método main() faça a chamada da função e imprima a parte inteira e a parte fracionária separadas.

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