Ir ao conteúdo
  • Cadastre-se

Joice Mendes

Membro Júnior
  • Posts

    13
  • Cadastrado em

  • Última visita

Reputação

2
  1. Crie uma biblioteca de funções para vetores do tipo float com as funções criadas no exercício anterior. Confesso que estou aprendendo a criar uma biblioteca, vou colocar abaixo o código original e o código da biblioteca. Se alguém puder me auxiliar eu agradeceria muito. Esse é o código original. #include <cstdlib> #include <stdio.h> #include <iostream> #include <math.h> #include<stdlib.h> using namespace std; void soma (int t, float vetor[]); void media (int t, float vetor[]); void maior_valor(int t, float vetor[]); void menor_valor (int t, float vetor[]); int main () { int i, n; float vet[i]; cout << "###### Questao 01 ######" << endl; cout << "Informe o tamanho do vetor: "; cin >> n; cout << endl; for (i=0; i<n; i++) { cout << "Informe o elemento" << " " << i << " do vetor: "; cin >> vet[i]; } soma(n,vet); media (n, vet); maior_valor(n,vet); menor_valor (n,vet); system("PAUSE"); return EXIT_SUCCESS; } void soma (int t, float vetor[]) { int i; float total; total=0; for (i=0; i<t; i++) { total=total+vetor[i]; } cout << endl; cout << "A soma dos elementos do vetor eh: " << total << endl; } void media (int t, float vetor[]) { int i; float medio, total; medio=0; for (i=0; i<t; i++) { total=total+vetor[i]; medio=total/t; } cout << "O valor medio dos elementos do vetor eh: " << medio << endl; } void maior_valor(int t, float vetor[]) { int i, high=0; for (i=0; i<t; i++) { if (vetor[i]>high) high=vetor[i]; } cout << "O maior valor entre os elementos do vetor eh: " << high << endl; } void menor_valor (int t, float vetor[]) { int i; float low=1e10; for (i=0; i<t; i++) { if (vetor[i]<low) low=vetor[i]; } cout << "O menor valor entre os elementos de vetor eh: " << low << endl; cout << endl; } Esse é o codigo sem as funções. #include <cstdlib> #include <stdio.h> #include <iostream> #include <math.h> #include<stdlib.h> #include "biblio.h" using namespace std; void soma (int t, float vetor[]); void media (int t, float vetor[]); void maior_valor(int t, float vetor[]); void menor_valor (int t, float vetor[]); int main () { int i, n; float vet[i]; cout << "###### Questao 01 ######" << endl; cout << "Informe o tamanho do vetor: "; cin >> n; cout << endl; for (i=0; i<n; i++) { cout << "Informe o elemento" << " " << i << " do vetor: "; cin >> vet[i]; } cout << "A soma dos elementos do vetor eh: " ; total = soma(n,vet); cout << "O valor medio dos elementos do vetor eh: "; medio = media (n, vet); cout << "O maior valor entre os elementos do vetor eh: "; high = maior_valor(n,vet); cout << "O menor valor entre os elementos de vetor eh: " ; low = menor_valor (n,vet); system("PAUSE"); return EXIT_SUCCESS; } E esse é o codigo da biblioteca. void soma (int t, float vetor[]) { int i; float total; total=0; for (i=0; i<t; i++) { total=total+vetor[i]; } } void media (int t, float vetor[]) { int i; float medio, total; medio=0; for (i=0; i<t; i++) { total=total+vetor[i]; medio=total/t; } } void maior_valor(int t, float vetor[]) { int i, high=0; for (i=0; i<t; i++) { if (vetor[i]>high) high=vetor[i]; } } void menor_valor (int t, float vetor[]) { int i; float low=1e10; for (i=0; i<t; i++) { if (vetor[i]<low) low=vetor[i]; } }
  2. @Jhonas Boeno Muito obrigada Jhonas, corrigi os erros. @devair1010 Muito obrigada. Agora deu certinho. E não vou misturar mais c com c++.
  3. Crie um programa que leia um vetor de qualquer tamanho de elementos do tipo float e escreva os elementos desse vetor na ordem inversa à que foram lidos, em ordem crescente e decrescente. Para isso crie uma função para escrever os elementos em ordem inversa e duas funções para ordenação. Eu fiz a questão, mas tem alguma coisa errada ai, porque quando ela me dar a inversa, sempre aparece um zero, ai quando vai me dar a ordem decrescente também aparece o zero. Alguém por favor pode me dizer onde está o erro? #include<stdio.h> #include <cstdlib> #include <math.h> #include <iostream> #define tam1000 using namespace std; void lervetor (int tam, float v[]); void inversavetor (int tam, float v[]); void crescentevetor (int tam, float v[]); int i, y, j, aux; int main (){ int tam; float vet[tam]; cout <<"Digite o tamanho do vetor: "; cin >> tam; cout <<"Digite os valores do vetor: \n"; lervetor (tam, vet); cout<< endl; cout <<"Sua ordem inversa eh: \n"; inversavetor (tam, vet); cout << endl; crescentevetor (tam, vet); system ("pause"); return EXIT_SUCCESS; } void lervetor (int tam, float v[]){ int i; for (i=0; i<tam; i++){ cout <<"V[" << i << "]: "; cin >> v[i]; } } void inversavetor (int tam, float v[]){ int i; for (i = tam; i >= 0; i--) { cout << v[i] << endl; } cout <<"\n"; } void crescentevetor (int tam, float v[]){ int i; for (i = 0; i < tam; i++){ for(y = 1; j < tam; j++){ if (v[i] > v[j]){ aux = v[i]; v[i] = v[j]; v[j] = aux; } } } cout << "Elementos ordenados (crescente): \n"; for( i = 0; i < tam; i++){ cout << v[i] << endl; } cout << endl; cout << "Elementos ordenados (decrescente): \n"; for(i = tam; i > 0; i--){ cout << v[i] << endl; } cout << endl; }
  4. Usando a série pi = 4 – 4/3 + 4/5 – 4/7 + 4/9 - 4/11 + ... Além do valor de Pi, a função deve retornar quanto termos foram gerados até atingir a precisão desejada. Resultado: Foram necessários 20.000 termos até que se atingisse o valor 0,000100003 de precisão do termo e o valor obtido de Pi foi 3,14155. Bom eu fiz o programa, só que o 20.000 termo é 0.000099998 e o valor de pi é 3.141647339. < #include <cstdlib> #include <iostream> #include <stdio.h> #include <math.h> #include <iomanip> using namespace std; int main() { float epsilon; float pi; int i; int sinal; float termo; cout << "Digite a precisao desejada: "; cin >> epsilon; cout << endl; i = 0; sinal = 1; termo = 4; pi = 4; cout << fixed << setprecision(9); //fixa o número de casas decimais cout << "pi="<< pi << " termo("<< i <<")= "<< termo << endl; while (termo <= -epsilon || epsilon <= termo) { i = i + 1; sinal = -sinal; termo = sinal*4.0/(2*i+1); pi = pi + termo; cout << "pi="<< pi << " termo("<< i <<")= "<< termo << endl; } cout << "\nAproximacao de PI com precisao de " << epsilon << " = " << pi; return 0; }>
  5. Faça um programa que utilize uma função que calcula e escreve cada termo da série da seguir. A função deve receber como parâmetro o número de termos e retornar a soma. S=2^1/50+2^2/49+...+2^50/1 */ O programa que fiz é esse. Eu não acho que esteja errado. Só que na resposta, a soma com 50 termos é 1560. #include <iostream> #include <math.h> using namespace std; int main (){ int i, qtd, den; float soma; cout << "informe a quantidade de termos: "; cin >> qtd; soma=0; den=50; i=qtd; while (i<=qtd) { soma = soma + (float)(pow(2,i)/den); i = i + 1; den = den - 1; } cout <<"O valor de S eh: " << soma; }
  6. @Midori Agora entendi. Muito obrigada
  7. @Midori Olha juro pra você que estou tentando resolver, mas ainda não sei onde está o erro. Se você puder me mostrar eu ficarei agradecida.
  8. @Midori Acabei de ir lá pra testar, e o resultado é 2,7 com x = 2.
  9. @AdrianoSiqueira Ainda não deu certo, porque de acordo com a resposta o somatório com 5 termos e X=2 será 26.07. E esse ta dando 0,72...
  10. Faça um programa leia o número de termos e o valor de X e escreva o somatório da série a seguir. Para isso, crie uma função que receba o número de termos e X como parâmetros, escreva cada termo e retorne o valor do somatório: S= x^25/1 - x^24/2 + x^23/3 - x^22/4 + ... + x/25 O meu somatório esta dando zero. Alguém pode me ajudar a encontrar o erro? #include <iostream> #include <cmath> using namespace std; int main(void) { double X, AUX, S, P; int i, N; cout << "Informe a quantidade de termos: "; cin >> N; cout << "Informe o valor de x: "; cin >> X; cin.ignore(); i = 25; N = 1; S = 0; AUX = 1; while (i=0, N <= 25, i++) { P = pow(X,i); P = P / N; if (AUX > 0) { S = S + P; AUX = -1; } else { S = S - P; AUX = 1; } N = N + 1; i = i - 1; } cout << "O valor do somatorio eh = " << S; return 0; }
  11. int main(void) { float X, AUX, S, P; int i, N; float aprs_tela; cout << "informe o valor de x: \n"; cin >> X; i = 25; N = 1; S = 0; AUX = 1; while (N <= 25) { aprs_tela = P; P = pow(X,i); P = P/N; if (AUX>0) { S=S+P; AUX = -1; } else { S=S-P; AUX = 1; } N=N+1; i=i-1; } cout << "o valor do somatorio para X= : \n"<< X ;"e: " << S; } esse foi o codigo que fiz. Mas ta dando erro.
  12. Fazer um algoritmo que: a) leia o valor de X de uma unidade de entrada b) calcule e escreva o valor do seguinte somatório S= x^25/1 - x^24/2 + x^23/3 - x^22/4 + ... + x/25 Alguém pode me ajudar a transformar esse programa em C++? algoritmo() { declare X:real; // o numero lido declare AUX:real; // utilizado para descobrir o sinal declare N:inteiro; // denominador declare S:real; // valor do somatorio declare P:real; // potencia de X declare I:inteiro; // expoente de X // inicializacao das condicoes iniciais I := 25; N := 1; S := 0; AUX := 1; leia ( "informe o valor de X: ", X ); // faz o calculo do somatorio enquanto ( N<= 25 ) { P:= Potencial (X,I) P:= P/N; se (AUX>0){ S:= S+P; AUX := -1; } senao{ S:= S-P; AUX := 1; } N:= N+1; I:= I-1; } escreva ("O valor do somatorio para X=", X, "e: " , S); }

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