[C con Clase] Elercicios...

Yudenis Martínez Abreu ymabreu en ingenieria.unica.cu
Mar Nov 28 22:57:49 CET 2006


Hola.

Creo que ya entendí lo de los arreglos... sencillamente cuando se declara el arreglo reservamos tantos espacios como el # que se pone entre los símbolos [ ]

Y la diferencia (lo que me confundía) es que para las cadenas uno de esos espacios se deja para el elemento nulo lo que implica que tenemos un espacio menos para almacenar un caracter.  Muchas gracias a todos por la exhaustiva ayuda.

 

Esta parte va un poco mas dirigida a Steven aunque si alguien tiene alguna sugerencia se acepta.

Envío acá los ejercicios para que los revisen  porque cuando escribí a ejercicioscpp en conclase.net <mailto:ejercicioscpp en conclase.net>  me hicieron esta sugerencia * x motivo. 

Me falta el # 4 porque tengo algunas dudas como por ejemplo:

-Se supone que el usuario solo pueda entrar números?

-Que seria en este caso una cadena que no contiene números? Un ejemplo?

-Quedarían así los ejemplos que pongo debajo:

  Sin incrementar                    Incrementada

   000111                                   000111999

   0011100                                 001110099

00                                                                                         009999999 

 

Cap # 10

 

Ejer1

 

#include <iostream>

 

using namespace std; 

 

int main(){

   int ArreEnteros[10], suma=0, mayor, menor, i;

   float promedio;

 

   cout<<"Entre 10 valores enteros para almacenar en el arreglo"<<endl;

   for (i=0; i<10; i++){

       cin>>ArreEnteros[i]; //lectura de cada elemento del arreglo (1)

       cout<<endl;

       suma= suma+ArreEnteros[i]; //calculo de la suma (2)

       }

   cout<<"Valor i: "<<i<<endl;

   promedio=float(suma)/i; //calculo de la promedio(3)

   mayor=ArreEnteros[0]; //preparando terreno para determinar max y min

   menor=ArreEnteros[0];

   for (i=1; i<10; i++)

       if(menor>ArreEnteros[i])

          menor=ArreEnteros[i]; //calculo de la minimo (4)

         else

          if(mayor<ArreEnteros[i])

             mayor=ArreEnteros[i]; //calculo de la maximo (5)

   cout<<"Suma total: "<<suma<<endl;

   cout<<"Promedio: "<<promedio<<endl;

   cout<<"Menor: "<<menor<<endl; 

   cout<<"Mayor: "<<mayor<<endl;     

   

 // cin.get(); //no me deja ver lo que resulta como por lo que lo sustituyo con 

                  //  getchar();

   getchar(); //por que a veces el tiempo de espera funciona con un  getchar() y 

   getchar();   // a veces hay que poner dos?

   return 1;

   }

 

Ejer2

 

#include <iostream>

 

using namespace std; 

//variables globales

  int ArreInt[10]={2,1,4,3,8,7,6,5,10,9};

  

//prototipo de funcines

  void Ordenar(bool);

  

//pfuncion principal 

int main(){

   int opcion; 

   

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

      cout<< "El valor "<<(i+1)<<" del arreglo es: "<<ArreInt[i]<<endl;

   cout<<"Escoja c'omo ordenarlos:"<<endl;

   cout<<"1-Decresientemente."<<endl;

   cout<<"2-Cresientemente."<<endl;

   cin>>opcion;

   switch (opcion) {

      case 1 :    

              Ordenar((opcion-1));

              cout<< "El arreglo ordenado decrecientemente: "<<endl;

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

                 cout<<ArreInt[i]<<endl;

              getchar(); 

              break;

      case 2 :

              Ordenar((opcion-1));           

              cout<< "El arreglo ordenado crecientemente: "<<endl;

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

                 cout<<ArreInt[i]<<endl;

              getchar();     

              break;

      default :

            cout <<"NOT A VALID CHOICE!  Bye ..." << endl;

            getchar();  

            getchar(); 

            return(-1);

      }      

   

   getchar();

   return 1;

   }

 

//implementacion de funciones      

void Ordenar(bool orden){

    int temp; 

    if (orden){

          for(int j=1; j<10; j++)   //realiza la operacion(ciclo de abajo) n-1 veces. n # de elementos en el arreglo. 

          for(int i=0; i<(10-j); i++) 

             if (ArreInt[i]>ArreInt[(i+1)]){

                   temp=ArreInt[(i+1)];

                   ArreInt[(i+1)]=ArreInt[i];

                   ArreInt[i]=temp;   

                   }               

       } 

      else

          for(int j=1; j<10; j++)   

          for(int i=0; i<(10-j); i++) 

             if (ArreInt[i]<ArreInt[(i+1)]){

                   temp=ArreInt[(i+1)];

                   ArreInt[(i+1)]=ArreInt[i];

                   ArreInt[i]=temp;   

                   }             

    }

    

/*Dicho sea de paso, me puedes decir si el DEV-C++ tiene una ayuda 

  interactiva como la de C++Builder. Si la tiene como funciona?*/

 

Ejer3

 

#include <iostream>

 

using namespace std; 

 

int main(){

    int suma, Matriz[5][5]={1,2,3,4,5,

                              6,7,8,9,10,

                              11,12,13,14,15,

                              16,17,18,19,20,

                              21,22,23,24,25};

   //mostrar matriz

   cout<<"La matriz creada tendria la forma: "<<endl; 

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

      cout<<"fila["<<(i+1)<<"]-> ";

      for(int j=0; j<5; j++)

         cout<<Matriz[i][j]<<"  ";

      cout<<endl;

      }

   //determinar suma por fila y mostrar resultado

   cout<<endl<<"La suma de los elemementos de cada fila serian: "<<endl; 

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

      suma=0;         

      for(int j=0; j<5; j++)

         suma=suma+Matriz[i][j];

      cout<<"fila["<<(i+1)<<"]-> "<<suma;

      cout<<endl;

      }

   //determinar suma por columna y mostrar resultado

   cout<<endl<<"La suma de los elemementos de cada columna serian: "<<endl; 

   for(int j=0; j<5; j++){  

      suma=0;         

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

         suma=suma+Matriz[i][j];

      cout<<"columna["<<(j+1)<<"]-> "<<suma;

      cout<<endl;

      }

   

   getchar();

   //getchar();*/

   return 1;

   }

 

Ejer5

 

#include<iostream> //si pongo iostream.h me da un #warning This file includes

                   // at least one deprecated or antiquated header. Please 

                   //consider using one of the 32 headers found in section

                   // 17.4.1.2 of the C++ standard. Examples include

                   // substituting the <X> header for the <X.h> header for C++

                   // includes, or <iostream> instead of the deprecated header

                   // <iostream.h>. To disable this warning use -Wno-deprecated. 

                   //    Por que ocurre?

using namespace std;

 

//prototipo de funciones

bool Palindromo(char*);

//

 

int main(){

    char frace[40];

    

    cout<<"Entre frace: "<<endl;

    cin>>frace; cout<<endl;

    if(Palindromo(frace)) 

      cout<<"La frace es un palindromo.";

     else 

      cout<<"La frace no es un palindromo.";    

      

    getchar();    

    getchar();  

    return 1;  

    }

    

//zona de desarrollo de funciones

bool Palindromo(char palabra[]){

     int cont=0;

     

     while(palabra[cont]!=0x00) //localiza fin de la cadena        

        cont++;                    

     for(int i=0; i<cont; i++)  //compara las ods cadenas(cosiderando que no hay espacios) para versi es un palindromo

        if(palabra[((cont-1)-i)]!=palabra[i])

           {

           return false;   

           break;         

           }    

     return true;  

     }

------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20061128/4330964f/attachment.html>


Más información sobre la lista de distribución Cconclase