martes, 25 de septiembre de 2012

EJERCICIOS DE EXAMEN PRIMER PARCIAL



------PROGRAMAS DEL PRIMER PARCIAL------

Programa que calcula la frecuencia de aparición de las vocales de un texto proporcionado por el usuario. Esta solución la debe presentar en histograma

#include <iostream.h>
#include <stdio.h>

using namespace std;

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

int c=0,a=0,e=0,i=0,o=0,u=0;
char cadena[20];
int contador[5] = {0};

cout<<"Introduce una frase:\n";
gets(cadena);

do{
if(cadena[c]=='a')
a=a+1;
else if(cadena[c]=='e')
e=e+1;
else if(cadena[c]=='i')
i=i+1;
else if(cadena[c]=='o')
o=o+1;
else if(cadena[c]=='u')
u=u+1;
c=c+1;
}
while(cadena[c]!='\0');

         
         
for(int s = 0; s < 5; s++)
     {
          cout << cadena[c] << ": ";
          for(int j = 0; j < c[s];j++)
               cout << "*"<< "\n";
       
     }


            
system("PAUSE");
    return 0;
}

Escribir un programa que sume números binarios de tres bits., realizando el calculo de derecha a izquierda, casi como los números decimales. Las reglas de adicción requeridas son: 0+0=0, 0+1=1,1+0=1,1+1=0con un acarreo de 1 para la siguiente columna, y 1+1+1=1 con un acarreo de 1 para la siguiente columna.

#include "stdafx.h"
#include <iostream>;
using std:: cout;
using std :: cin;

int _tmain(int argc, _TCHAR* argv[])
{
            int a[3]={0}, b[3]={0}, s[3]={0}, aux=0;
cout<<"dame pirmer  numero binario \n";
            for (int c=0;c<3;c++)
            {
           
                                              
                                                           cin>>a[c];}
            cout<<"dame segundo numero binario \n";
            for (int c=0;c<3;c++){
                                                          
                                              
                                                           cin>>b[c];
            }

            for (int x=2;x>0;x--)
            {

            if (a[x]==0&&b[x]==0&&s[x]==0)

                        s[x]=0;
            if (a[x]==1&&b[x]==0)
                        s[x]=1;

                        if (a[x]==0&&b[x]==1)
            s[x]=1;
                        if (a[x]==1&&b[x]==1&&s[x]==0){
                        s[x]=0;
                        s[x-1]=1;}
                        if (a[x]==1&&b[x]==1&&s[x]==1){
s[x]=1;
s[x-1]=1;}

                       
            }
            if (a[0]==1&&b[0]==1&&s[0]==1||a[0]==1&&b[0]==1&&s[0]==0)
                        aux=1;
            else aux=0;
            if (aux ==1){
            cout<<aux;
                        for (int h=0;h<3; h++){
                                   cout << s[h];}
            }
            else{
                        for (int h=0;h<3; h++){

                                   cout << s[h];}

                       
                                   cout<<1;}
            system ("pause");
            return 0;
}



Considerar 10 cartas cada una conteniendo una secuencia de ceros y unos, cada secuencia de longitud 12, representando un número binario. Escribir un programa para determinar por cada número binario su valor decimal.
#include "stdafx.h"
#include <iostream>
using std:: cout;
using std :: cin;

int _tmain(int argc, _TCHAR* argv[])
{
            int fra1[12],fra2[12],fra3[12],fra4[12],fra5[12],fra6[12],fra7[12],fra8[12],fra9[12],fra10[12];
            int res1=0,res2=0,res3=0,res4=0,res5=0,res6=0,res7=0,res8=0,res9=0,res10;
            cout<<"Dame un numero binario de 12 bits \n";
            for (int b=0;b<12;b++)
            {
            cout<<"Dame primer numero binario de 12 bits"<<"   bit["<<b+1<<"]:  ";
             cin>> fra1[b];
             
            }cout<<"Dame un numero binario de 12 bits \n";
            for (int b=0;b<12;b++)
            {
            cout<<"Dame segundo numero binario de 12 bits"<<"   bit["<<b+1<<"]:  ";
             cin>> fra2[b];
             
            }cout<<"Dame un numero binario de 12 bits \n";
            for (int b=0;b<12;b++)
            {
            cout<<"Dame tercer numero binario de 12 bits"<<"   bit["<<b+1<<"]:  ";
             cin>> fra3[b];
             
            }cout<<"Dame un numero binario de 12 bits \n";
            for (int b=0;b<12;b++)
            {
            cout<<"Dame cuarto numero binario de 12 bits"<<"   bit["<<b+1<<"]:  ";
             cin>> fra4[b];
             
            }cout<<"Dame un numero binario de 12 bits \n";
            for (int b=0;b<12;b++)
            {
            cout<<"Dame quinto numero binario de 12 bits"<<"   bit["<<b+1<<"]:  ";
             cin>> fra5[b];
             
            }cout<<"Dame un numero binario de 12 bits \n";
            for (int b=0;b<12;b++)
            {
            cout<<"Dame sexto numero binario de 12 bits"<<"   bit["<<b+1<<"]:  ";
             cin>> fra6[b];
             
            }cout<<"Dame un numero binario de 12 bits \n";
            for (int b=0;b<12;b++)
            {
            cout<<"Dame septimo numero binario de 12 bits"<<"   bit["<<b+1<<"]:  ";
             cin>> fra7[b];
             
            }cout<<"Dame un numero binario de 12 bits \n";
            for (int b=0;b<12;b++)
            {
            cout<<"Dame octavo numero binario de 12 bits"<<"   bit["<<b+1<<"]:  ";
             cin>> fra8[b];
             
            }cout<<"Dame un numero binario de 12 bits \n";
            for (int b=0;b<12;b++)
            {
            cout<<"Dame noveno numero binario de 12 bits"<<"   bit["<<b+1<<"]:  ";
             cin>> fra9[b];
             
            }cout<<"Dame un numero binario de 12 bits \n";
            for (int b=0;b<12;b++)
            {
            cout<<"Dame decimo numero binario de 12 bits"<<"   bit["<<b+1<<"]:  ";
             cin>> fra10[b];
             
            }
           
            res1=(((1)*fra1[0])+((2)*fra1[1])+((4)*fra1[2])+((8)*fra1[3])+((16)*fra1[4])+((32)*fra1[5])+((64)*fra1[6])+((128)*fra1[7])+((256)*fra1[8])+((512)*fra1[9])+((1024)*fra1[10])+((2048))*fra1[11]);
            cout<<"el primer numero es equivalente a: "<<res1<<" en decimal \n";
                        res2=(((1)*fra2[0])+((2)*fra2[1])+((4)*fra2[2])+((8)*fra2[3])+((16)*fra2[4])+((32)*fra2[5])+((64)*fra2[6])+((128)*fra2[7])+((256)*fra2[8])+((512)*fra2[9])+((1024)*fra2[10])+((2048))*fra2[11]);
            cout<<"el segundo numero es equivalente a: "<<res1<<" en decimal \n";
                        res3=(((1)*fra3[0])+((2)*fra3[1])+((4)*fra3[2])+((8)*fra3[3])+((16)*fra3[4])+((32)*fra3[5])+((64)*fra3[6])+((128)*fra3[7])+((256)*fra3[8])+((512)*fra3[9])+((1024)*fra3[10])+((2048))*fra3[11]);
            cout<<"el tercer numero es equivalente a: "<<res1<<" en decimal \n";
                        res4=(((1)*fra4[0])+((2)*fra4[1])+((4)*fra4[2])+((8)*fra4[3])+((16)*fra4[4])+((32)*fra4[5])+((64)*fra4[6])+((128)*fra4[7])+((256)*fra4[8])+((512)*fra4[9])+((1024)*fra4[10])+((2048))*fra4[11]);
            cout<<"el cuarto numero es equivalente a: "<<res1<<" en decimal \n";
                        res5=(((1)*fra5[0])+((2)*fra5[1])+((4)*fra5[2])+((8)*fra5[3])+((16)*fra5[4])+((32)*fra5[5])+((64)*fra5[6])+((128)*fra5[7])+((256)*fra5[8])+((512)*fra5[9])+((1024)*fra5[10])+((2048))*fra5[11]);
            cout<<"el quinto numero es equivalente a: "<<res1<<" en decimal \n";
                        res6=(((1)*fra6[0])+((2)*fra6[1])+((4)*fra6[2])+((8)*fra6[3])+((16)*fra6[4])+((32)*fra6[5])+((64)*fra6[6])+((128)*fra6[7])+((256)*fra6[8])+((512)*fra6[9])+((1024)*fra6[10])+((2048))*fra6[11]);
            cout<<"el sexto numero es equivalente a: "<<res1<<" en decimal \n";
                        res7=(((1)*fra7[0])+((2)*fra7[1])+((4)*fra7[2])+((8)*fra7[3])+((16)*fra7[4])+((32)*fra7[5])+((64)*fra7[6])+((128)*fra7[7])+((256)*fra7[8])+((512)*fra7[9])+((1024)*fra7[10])+((2048))*fra7[11]);
            cout<<"el septimo numero es equivalente a: "<<res1<<" en decimal \n";
                        res8=(((1)*fra8[0])+((2)*fra8[1])+((4)*fra8[2])+((8)*fra8[3])+((16)*fra8[4])+((32)*fra8[5])+((64)*fra8[6])+((128)*fra8[7])+((256)*fra8[8])+((512)*fra8[9])+((1024)*fra8[10])+((2048))*fra8[11]);
            cout<<"el octavo numero es equivalente a: "<<res1<<" en decimal \n";
                        res9=(((1)*fra9[0])+((2)*fra9[1])+((4)*fra9[2])+((8)*fra9[3])+((16)*fra9[4])+((32)*fra9[5])+((64)*fra9[6])+((128)*fra9[7])+((256)*fra9[8])+((512)*fra9[9])+((1024)*fra9[10])+((2048))*fra9[11]);
            cout<<"el noveno numero es equivalente a: "<<res1<<" en decimal \n";
                        res10=(((1)*fra10[0])+((2)*fra10[1])+((4)*fra10[2])+((8)*fra10[3])+((16)*fra10[4])+((32)*fra10[5])+((64)*fra10[6])+((128)*fra10[7])+((256)*fra10[8])+((512)*fra10[9])+((1024)*fra10[10])+((2048))*fra10[11]);
            cout<<"el decimo numero es equivalente a: "<<res1<<" en decimal \n";

            system ("pause");
            return 0;
}

Escribir un programa que reciba una cadena de caracteres de longitud N y la devuelva en forma inversa, (“hola”, se convierte en un “aloh”)
#include "stdafx.h"
#include <iostream>;
using std:: cout;
using std :: cin;

            int b=0;
            char a[4], op;
            int c=0;
            void fun(){
for (b=0;b<4;b++)
            {
            cout<<"Dame una letra"<<"   a["<<b<<"]";
             cin>> a[b];
             
            }
            }
            void muestra()
            {
             for (int b=3;b>=0;b--)
            {
                       
            cout<<"   a["<<b<<"]: "<<a[b];
            cout<<"\n";
             c=c+1;
            }
            }
int _tmain(int argc, _TCHAR* argv[])
{

            cout<<"escribe una palabra con 4 letras \n";
             fun();
           
            cout<<"la forma inversa de la palabra que escribiste es \n";

            muestra ();
           
            system ("pause");
            return 0;
}

Dados tres numeros enteros positivos que representan las medidas de un probable triangulo. Hacer un programa que determine si los datos corresponden a un triangulo. En caso de que si, decir si es equilatero, isoceles, ecaleno. Calcular ademas su area.

// examen triangulo.cpp: define el punto de entrada de la aplicación de consola.
//

#include "stdafx.h"
#include "iostream"
#include "stdio.h"
#include <math.h>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
            float l1=0, l2=0, l3=0, s=0, a=0, comparacion=0;
            cout<<"\tTRIANGULO\n";
            cout<<"Anota medida del lado 1: ";
            cin>>l1;
            cout<<"Anota medida del lado 2: ";
            cin>>l2;
            cout<<"Anota medida del lado 3: ";
            cin>>l3;
            if ((l1>l2)&&(l1>l3)){
                        comparacion=l2+l3;
                        if (comparacion>l1){
                        if((l1==l2)&&(l1==l2)&&(l1==l2)&&(l2==l3))
                        {
                                   cout<<"triangulo equilatero\n";
                        }
                        else if((l1!=l2)&&(l1!=l3)&&(l2!=l3))
                        {
                                   cout<<"triangulo isoceles\n";
                        }
                        else
                        {
                                   cout<<"triangulo escaleno\n";
                        }
            s=((l1+l2+l3)/2);
            a=(s*(s-l1)*(s-l2)*(s-l3));
            cout<<"El area del triangulo es "<<sqrt(a)<<endl;
                        }
                        else
                        {
                                   cout<<"Las mdidas no corresponden a un triangulo\n";
                        }
            }

            else if((l2>l1)&&(l2>l3)){
                        comparacion=l1+l3;
                        if (comparacion>l2){
                        if((l1==l2)&&(l1==l2)&&(l1==l2)&&(l2==l3))
                        {
                                   cout<<"triangulo equilatero\n";
                        }
                        else if((l1!=l2)&&(l1!=l3)&&(l2!=l3))
                        {
                                   cout<<"triangulo isoceles\n";
                        }
                        else
                        {
                                   cout<<"triangulo escaleno\n";
                        }
            s=((l1+l2+l3)/2);
            a=(s*(s-l1)*(s-l2)*(s-l3));
            cout<<"El area del triangulo es "<<sqrt(a)<<endl;
                        }
                        else
                        {
                                   cout<<"Las mdidas no corresponden a un triangulo\n";
                        }
            }
            else if ((l3>l2)&&(l3>l1)){
                        comparacion=l2+l1;
                        if (comparacion>l3){
                                  
                        }
                        else
                        {
                                   cout<<"Las mdidas no corresponden a un triangulo\n";
                        }
            }
            else{
                        if((l1==l2)&&(l1==l2)&&(l1==l2)&&(l2==l3))
                        {
                                   cout<<"triangulo equilatero\n";
                        }
                        else if((l1!=l2)&&(l1!=l3)&&(l2!=l3))
                        {
                                   cout<<"triangulo isoceles\n";
                        }
                        else
                        {
                                   cout<<"triangulo escaleno\n";
                        }
            s=((l1+l2+l3)/2);
            a=(s*(s-l1)*(s-l2)*(s-l3));
            cout<<"El area del triangulo es "<<sqrt(a)<<endl;

            }
            system("pause");
            return 0;
}