Exercícios de Estrutura de dados com c++ ou cpp

Fonte: Wikiversidade

Objetivos:[editar | editar código-fonte]

Desenvolver habilidade de programação, estrutura de dados, com exercícios progressivos com ajuda da linguagem de programação c e c++ cpp(C Plus Plus).

Lista de Exercícios 1- Entrada - Processamento - Saída[editar | editar código-fonte]

Exercício 1[editar | editar código-fonte]

/*

1.ª) Faça um programa que leia dois valores

e informe a média entre eles. (use float como tipo de dado).

*/

#include <cstdlib>

#include <iostream>


using namespace std;


int main(int argc, char *argv[])

{

float v1, v2, m;

system("CLS");

cout<< "Valor 1:";

cin >>v1;

cout <<"Valor 2:";

cin>>v2;

m=(v1+v2)/2;

cout <<"Media=" << m << endl;

system("PAUSE");

return EXIT_SUCCESS;

}



/*

2.ª) Faça um programa que leia uma temperatura em graus Centígrados

e apresente-a convertida em graus Fahrenheit. A fórmula de conversão é:

F = (9 * C + 160) / 5, onde F é a temperatura

em Fahrenheit e C em graus Centígrados.

*/

#include<IOSTREAM>

#include <cstdlib>


using namespace std;


int main()


{

float f, c;


cout<<"Digite a temperatura (ºC) ";

cin>> c;

f = (9 * c + 160) / 5;

cout<<"Temperatura em Fahrenheit: " << f << endl << endl;


system("PAUSE");

return 0;


}


/*

3.ª) Calcular e apresentar o valor do volume de uma lata de óleo,

utilizando a fórmula:

VOLUME = 3.14159 * R2 * ALTURA.

*/

#include<IOSTREAM>

#include <cstdlib>


using namespace std;


int main()


{

float v, r, a;


cout<<"Digite o r2: ";

cin>> r;

cout<<"Digite a altura: " ;

cin>> a;

v= 3.14159*r*r*a;

cout<<"\nVolume: "<< v << endl << endl;

system("PAUSE");

return 0;


}


/*

4.ª) Ler quatro números e apresentar o resultado dois

a dois da adição e multiplicação,

baseando-se na utilização da propriedade distributiva, ou seja,

se forem lidas as variáveis A,B,C e D, deverão ser somadas

e multiplicadas A com B, A com C e A com D e assim por diante.

*/

#include<IOSTREAM>

#include <cstdlib>


using namespace std;


int main()


{

float a, b, c, d ;




cout<<"\nDigite o valor a: ";

cin>> a;

cout<<"\nDigite o valor b: ";

cin>> b;

cout<<"\nDigite o valor c: ";

cin>> c;

cout<<"\nDigite o valor d: ";

cin>> d;

cout<< "valor a + valor b: "<< a+b << endl;

cout<< "valor a + valor c: "<< a+c << endl;

cout<< "valor a + valor d: "<< a+d << endl<< endl<< endl;

cout<< "valor b + valor a: "<< b+a << endl;

cout<< "valor b + valor c: "<< b+c << endl;

cout<< "valor b + valor d: "<< b+d << endl<< endl<< endl;

cout<< "valor c + valor a: "<< c+a << endl;

cout<< "valor c + valor b: "<< c+b << endl;

cout<< "valor c + valor d: "<< c+d << endl<< endl<< endl;

cout<< "valor d + valor a: "<< d+a << endl;

cout<< "valor d + valor b: "<< d+b << endl;

cout<< "valor d + valor c: "<< c+c << endl<< endl<< endl;

cout<< "valor a * valor b: "<< a*b << endl;

cout<< "valor a * valor c: "<< a*c << endl;

cout<< "valor a * valor d: "<< a*d << endl << endl<< endl;

cout<< "valor b * valor a: "<< b*a << endl;

cout<< "valor b * valor c: "<< b*c << endl;

cout<< "valor b * valor d: "<< b*d << endl<< endl<< endl;

cout<< "valor c * valor a: "<< c*a << endl;

cout<< "valor c * valor b: "<< c*b << endl;

cout<< "valor c * valor d: "<< c*d << endl<< endl<< endl;

cout<< "valor d * valor a: "<< d*a << endl;

cout<< "valor d * valor b: "<< d*b << endl;

cout<< "valor d * valor c: "<< c*c << endl<< endl<< endl;


system("PAUSE");

return 0;


}


/*

5.ª) Faça um programa que leia 5 valores e informe o valor do maior.

*/

#include <iostream>

#include <cstdlib>


using namespace std;


int main(int argc, char** argv)

{


int num[5], maior=0, i;



for(i=0; i<5; i++)

{

cout<<"\nDigite um valor: ";

cin>>num[i];



if(num[i]>maior)

maior=num[i];

}


cout<<"\n\nO maior numero e: " << maior;


system("PAUSE");

return 0;

}


/*

6.ª) Apresentar todos os valores numéricos inteiros ímpares

situados na faixa de 0 a 20.

*/

#include <iostream>

#include <cstdlib>


using namespace std;


int main(int argc, char** argv)

{


int numero;

cout<<"\nNumeros inteiros impares";

for(numero=0; numero<20; numero++)

{

if(numero%2 != 0)

cout<<"\nNumero: " << numero ;

}

system("PAUSE");

return 0;

}

/*

7.ª) Faça um programa que apresente o total

da soma obtido dos cem primeiros números inteiros.

(1+2+3+4+......+100)

*/

//7. Faça um programa que apresente o total da soma

//obtido dos cem primeiros números inteiros. (1+2+3+4+......+100)


#include <cstdlib>

#include <iostream>


using namespace std;


int main(int argc, char *argv[])

{

int n, soma=0;


cout<<"Digite um numero: ";

cin>>n;


for(int i=0; i<=n ;i++)

{

soma =soma + i;

}

cout<<"\n";

cout<<"O Somatorio eh: " <<soma<< "\n\n";

system("PAUSE");

return EXIT_SUCCESS;

}


/*

8.ª) Faça um programa que apresente a série de Fibonacci

até o décimo quinto termo.

A série é formada pela seqüência: 1,1,2,3,5,8,13,21,34,....,etc.

*/

#include <iostream>

#include <cstdlib>


using namespace std;


int main ()


{


int a=1, b=1, c;


cout<<"Digite um valor para A: ";

cin>>a;

cout<<"Digite um valor para B: ";

cin>>b;

for (int i=3; i<=20; i++)

{

c=a+b;

a=b;

b=c;

cout<<"\n"<<c;

}

cout<<"\n\n";


system ("PAUSE");

return 0;


}


/*

9.a.) . Faça um programa que leia 15 valores e informe

o valor da diferença entre a média e o maior valor

*/


#include <iostream>

#include <cstdlib>


using namespace std;


int main(int argc, char** argv)

{

int valor[15], i;

float maior=0, media=0, soma=0, diferenca=0;

for(i=0; i<15; i++)

{

cout<<"Digite um valor: ";

cin>>valor[i];


if(valor[i]>maior)

maior=valor[i];

}

cout<<"\n\nO maior numero eh ................................: " <<maior;

{

for(i=0; i<15; i++)

media= media+valor[i];

}

media=media/15;

cout<<"\n\nA media eh .......................................: " <<media;

diferenca= maior-media;

cout<<"\n\nA diferenca entre o maior valor e a media eh .....: " << diferenca;

cout<<"\n\n\n";

system("PAUSE");

return EXIT_SUCCESS;

}

Lista de Exercícios 2[editar | editar código-fonte]

/*Desenvolver os seguintes programas:

1.ª) Dados dois números naturais A e B, 
calcular o MDC entre A e B através do processo e exemplo:   
Para A=80  e B=112:
1. Dividir o número maior pelo menor: 
112 dividido por 80 -> quociente 1 e resto 32;
2. Não dando resto zero, dividir o divisor pelo resto da divisão anterior:
80 dividido por 32 -> quociente 2 e resto 16;
3. Prosseguir com as divisões até obter resto zero.
32 dividido por 16 ->quociente 2 e resto 0.

Portanto, o MDC(80,112) = 16.
*/
 
 #include <cstdlib>
 #include <stdio.h>
 #include <stdlib.h>
 #include<iostream>
 
 
 using namespace std;
 
 main()
 {
    int n1,n2,resto;
       
    cout<<"Digite o primeiro numero..: ";
    cin>>n1;
    cout<<"Digite o segundo numero...: ";
    cin>>n2;
               
               
     resto=n1%n2;
     
     while(resto!=0)
   {
     n1    = n2;
     n2    = resto;
     resto = n1%n2;        
   }
   
   
    cout<<"\nMDC: " << n2 <<"\n";
   
   
 
    system("pause");
 }
 
 /*
 
 2.ª) Dado um número real X e um número natural K, 
 calcular a potência X elevado a K através de produtos sucessivos.
 
 	xk    =  x.x.x.x.  ......  x
 
 Obs: independente do valor de k, para x=0 ou 1 
 o resultado é imediato, isto é, 0 e 1.
 */
 
 #include <iostream>
 #include <cstdlib>
 #include <math.h> 
 
 using namespace std;
 
 int main(int argc, char** argv) 
 {
     
     
     double x, k, xk;
    
     
     
     cout<<"Digite o X: "<< endl;
     cin>> x;
     
     cout<<"Digite o K: "<< endl;
     cin>> k;
     
     
     xk= pow(x,k);
     
     cout<<"Resultado: "<< xk<< endl;
     
     
     system("PAUSE");
     
     
     
     
 }
 
 /*
 3.ª) Efetuar o cálculo da quantidade de litros 
 de combustível gastos em uma viagem, 
 utilizando-se um automóvel que faz “x”  km/l. 
 Para obter o cálculo, o usuário deverá fornecer 
 o tempo gasto na viagem e a velocidade média durante a mesma. 
 Desta forma será possível obter a distância percorrida com a fórmula: 
 DISTÂNCIA= TEMPO * VELOCIDADE (utilizar uma função). 
 Tendo o valor da distância, basta calcular a quantidade de litros 
 de combustível utilizada na viagem com a fórmula:  
 LITROS_USADOS=DISTÂNCIA / “x” (através de função). 
 O programa deverá apresentar os valores da velocidade média, 
 tempo gasto na viagem, a distância percorrida 
 e a quantidade de litros utilizada na viagem.
 */
 
 #include <iostream>
 #include <stdlib.h> 
 
 using namespace std;
 
 double distancia(double tG, double vM)
 {
        double d;
        
        d=tG*vM;
        
      return(d);
        
 }
 
 
 double lts (double d,double kl)
 {
        double lU;
        
        lU=d/kl;
        
        
         return(lU);
 }
 
 
 int main(int argc, char** argv)
 
 {
 	
     double tG, vM, kl,d,lU;
 
     cout<<"Digite o tempo gasto na viagem: "<< endl ;
    cin>>tG;
     cout<<"Digite a velocidade media: "<< endl;
    cin>>vM;
     cout<<"Digite quantos litros o veiculo faz por kilometro "<< endl;
    cin>>kl;
     
   
 	d =	distancia(tG,vM);
     lU = lts(d,kl);
 	
 
 	cout << "A distancia percorrida eh de: " << d  << "Km";
 	cout << "A velocidade media percorrida eh de: " << vM << "KM/h" ;
 	cout << "O tempo gasto na viagem eh de: " << tG << " horas" ;
 	cout << "Foram utilizados " << lU  << " litros de gasolina." ;
 	
 
 	
 	system("PAUSE");
 
 }