• Viernes 1 de Noviembre de 2024, 08:35

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Temas - RICARDOJ.

Páginas: [1]
1
C/C++ / PROLEMA CON EJERCICIO
« en: Lunes 13 de Diciembre de 2010, 13:57 »
1) Realizar un programa que presente dos opciones alusuario:
MENU 1:
a) Trabajar con vectores: Lee del teclado un vector numérico realde 10 posiciones y lo visualiza del revés, empezando por el ultimo valor introducido.
b) Trabajar con matrices:
- Cargar una matriz "A" de orden 3x4 con numeros enteros.
- Visualizar porpantalla la matriz "A".
- Calcularlamatriz traspuesta de "A" y guardarla con el nombre de atriz "B".
- Visualizar la matriz "B".
MENU 2:
Operar con matrices cuadradas de orden 3x3. El usuario introducira los valores de los elementos de la dos matrices y a continuación se le presentara un menu que le permitira seleccionar las operaciones a realizar.
a) Suma de matrices.
b) Resta de matrices.
c) Calcular determinantes de las dos matrices.

EN EL PROGRAMA QUE PRESENTO A CONTINUACION ME FALTA SOLO LA PARTE DEL MENU 1, QUE NOSE COMO REALIZARLA,ME GUSTARIA UNA PEQUEÑA AYUDA....GRACIAS DE ANTE MANO.


//Libreria basica de entrada/salida de datos.
#include <stdio.h>
//Libreria que permite limpiar el texto en la pantalla para facilitar su lectura.
#include <conio.h>
//Libreria que permite hacer operaciones matematicas avanzadas.
#include <math.h>

void main(void)
{
//Declaracion de variables con su tipo.
int Vector1[5], Vector2[5], Vector3[5];
float Modulo1=0, Modulo2=0;
int Ind=0;
float Matriz1[3][3], Matriz2[3][3], Matriz3[3][3], MatrizTp1[3][3], MatrizTp2[3][3];
int Fil=0, Col=0, Fil1=0, Col1=0;
int Opcion1=0, Opcion2=4;

//Presentacion del programa.
printf("t ESTE PROGRAMA REALIZA OPERACIONES CON MATRICES Y VECTORES.");
printf("nntt PULSE UNA TECLA PARA INICIAR EL PROGRAMA");
getch();
//Limpieza de pantalla.
clrscr();
//Bucle que se repite mientras el usuario no especifica salir del programa.
do
{
//Presentacion del menu principal con sus opciones.
printf("tttt --MENU PRINCIPAL--");
printf("nntt ESCOJA UNA DE LAS SIGUIENTES OPCIONES:");
printf("nntt 1.-EJERCICIO 1.");
printf("nntt 2.-EJERCICIO 2");
printf("nntt 3.-SALIR DEL PROGRAMA");
printf("nntt Nº DE LA OPCION ESCOGIDA: ");
//Depuracion del teclado por si se produce un "Overflow".
fflush(stdin);
//Lectura de la opcion definida por el usuario.
scanf("%i", &Opcion1);
//Limpieza de pantalla para pasar al siguiente menu.
clrscr();
//Bucle que se repite mientras el usuario no especifica salir del submenu.
do
{
//Selector que ejecuta una u otra opcion dependiendo de la deseada por
//el usuario.
switch(Opcion1)
{
//Submenu de opeacion con vectores.
case 1:
//Presentacion del menu.
printf("tttt--Menu de Ejercicio 1--");
printf("nntt Elija el tipo de operacion que desea:");
printf("nntt 1. Trabajar con vectores.");
printf("nntt 2. Trabajar con matrices.");
printf("nntt 3. Volver al menu principal.");
printf("nntt Su opcion: ");
//Depuracion del teclado por si se ha producido un "Overflow".
fflush(stdin);
//Lectura de la opcion deseada por el usuario.
scanf("%i", &Opcion2);
printf("n");
//Condicion que nos permite introducir los datos si quiere realizar
//el usuario algun tipo de operacion.
if(Opcion2<4 && Opcion2>0)
//Selector que ejecuta la opcion definida por el usuario.
switch(Opcion2)
{
//Opcion: Visualizar vector al reves.
case 1:
{
printf("Introduzca los valores del Vector 1:nn");
//Bucle que recopila los datos del vector 1 introducidos por teclado.
for(Ind=0; Ind<5; Ind++)
{
printf("Valor %i: ", Ind);
scanf("%i", &Vector1[Ind]);
}
}
//Opcion: Trasponer matriz.
case 2:

case 3:
//Limpieza de pantalla.
clrscr();
break;
//Resto de opciones.
default:
printf("nPor favor, escoja una opcion valida.");
printf("nPulse una tecla para continuar.");
getch();
//Limpieza de pantalla.
clrscr();
}
break;
//Submenu de Ejercicio 2.
case 2:
//Presentacion del menu.
printf("tttt --Menu de Ejercicio 2--");
printf("nntt Elija el tipo de operacion que desea:");
printf("nntt 1. Sumar las matrices.");
printf("nntt 2. Restar las matrices.");
printf("nntt 3. Trasponer las matrices.");
printf("nntt 4. Salir al menu principal.");
printf("nntt Su opcion: ");
//Depuracion del teclado por posibles "Overflow".
fflush(stdin);
//Lectura de la opcion deseada por el usuario.
scanf("%i", &Opcion2);
printf("n");
//Condicion que nos permite introducir los datos si el usuario ha
//escogido una opcion que requiera lectura de datos.
if(Opcion2<4 && Opcion2>0)
{
//Peticion de los datos de la matriz 1.
printf("nIntroduzca los valores de la Matriz 1:n");
//Bucle para rellenar cada celda de la matriz.
for(Fil=0; Fil<3; Fil++)
{
for(Col=0; Col<3; Col++)
{
printf("Valor x = %i, y = %i: ", Fil, Col);
scanf("%f", &Matriz1[Fil][Col]);
}
}
printf("n");
//Peticion de los datos de la matriz 2.
printf("Introduzca los valores de la Matriz 2:n");
//Bucle para rellenar cada celda de la matriz.
for(Fil=0; Fil<3; Fil++)
{
for(Col=0; Col<3; Col++)
{
printf("Valor x = %i, y = %i: ", Fil, Col);
scanf("%f", &Matriz2[Fil][Col]);
}
}
}
//Selector que nos lleva a la opcion seleccionada por el usuario.
switch(Opcion2)
{
//Opcion_ Suma de matrices.
case 1:
printf("nHa elegido suma de matrices.");
//Bucle para calcular la suma de la misma celda de cada matriz.
for(Fil=0; Fil<3; Fil++)
{
for(Col=0; Col<3; Col++)
{
//Calculo de la suma de cada componente.
Matriz3[Fil][Col]=Matriz1[Fil][Col]+Matriz2[Fil][Col];
}
}
//Representacion de los resultados obtenidos por pantalla.
printf("nnEl resultado de la suma de las matrices es:nn");
//Bucle para representar el valor de cada celda.
for(Fil=0; Fil<3; Fil++)
{
for(Col=0; Col<3; Col++)
{
printf("%7.1f", Matriz3[Fil][Col]);
}
printf("n");
}
printf("nPulse una tecla para continuar.");
getch();
//Limpieza de pantalla.
clrscr();
break;
//Opcion: Resta de matrices.
case 2:
printf("nHa elegido resta de matrices.");
//Bucle para calcular la resta de los valores de la misma celda de
//cada matriz.
for(Fil=0; Fil<3; Fil++)
{
for(Col=0; Col<3; Col++)
{
//Calculo de la resta de cada valor.
Matriz3[Fil][Col]=Matriz1[Fil][Col]-Matriz2[Fil][Col];
}
}
//Representacion de los resultados obtenidos por pantalla.
printf("nnEl resultado de la resta de las matrices es:nn");
//Bucle para representar cada valor de cada celda.
for(Fil=0; Fil<3; Fil++)
{
for(Col=0; Col<3; Col++)
{
printf("%7.1f", Matriz3[Fil][Col]);
}
printf("n");
}
printf("nPulse una tecla para continuar.");
getch();
//Limpieza de los datos por pantalla.
clrscr();
break;
//Opcion: Trasposicion de matrices.
case 3:
//Bucle para rellenar cada valor de la trasposicion de la matriz 1.
for(Col=0; Col<3; Col++)
{
for(Fil=0; Fil<3; Fil++)
{
//Asignacion de valores.
MatrizTp1[Fil1][Col1]=Matriz1[Fil][Col];
//Incremento de la columna de la matriz traspuesta para asignar
//los valores correctamente.
Col1++;
}
//Incremento de la fila de la matriz traspuesta para asignar los
//valores correctamente.
Fil1++;
//Vuelta a la columna 0 para asignar los valores de una fila nueva.
Col1=0;
}
//Vuelta a las coordenadas 0,0 de la matriz traspuesta.
Fil1=0;
Col1=0;
//Bucle para rellenar cada valor de la trasposicion de la matriz 2.
for(Col=0; Col<3; Col++)
{
for(Fil=0; Fil<3; Fil++)
{
//Asignacion de valores.
MatrizTp2[Fil1][Col1]=Matriz2[Fil][Col];
//Incremento de la columna de la matriz traspuesta para asignar
//los valores correctamente.
Col1++;
}
//Incremento de la fila de la matriz traspuesta para asignar los
//valores correctamente.
Fil1++;
//Vuelta a la columna 0 para asignar valores a una fila nueva.
Col1=0;
}
//Representacion de los resultados por pantalla.
printf("nnEl resultado de la trasposicion de la Matriz 1 es:nn");
//Bucle para representar cada celda de la matriz 1.
for(Fil1=0; Fil1<3; Fil1++)
{
for(Col1=0; Col1<3; Col1++)
{
printf("%7.1f", MatrizTp1[Fil1][Col1]);
}
printf("n");
}
//
printf("nnEl resultado de la trasposicion de la Matriz 2 es:nn");
//Bucle para representar cada celda de la matriz 2.
for(Fil1=0; Fil1<3; Fil1++)
{
for(Col1=0; Col1<3; Col1++)
{
printf("%7.1f", MatrizTp2[Fil1][Col1]);
}
printf("n");
}
printf("nPulse una tecla para continuar.");
getch();
//Limpieza de pantalla.
clrscr();
break;
//Opcion: Volver al menu principal.
case 4:
//Limpieza de pantalla.
clrscr();
break;
//Resto de opciones.
default:
printf("Por favor, escoja una opcion valida.");
printf("nPulse una tecla para continuar.");
getch();
//Limpieza de pantalla.
clrscr();
}
break;
//Opcion para salir del programa.
case 3:
//Limpieza de pantalla.
clrscr();
break;
//Resto de opciones.
default:
printf("Por favor, introduzca una opcion valida.");
printf("nPulse una tecla para continuar.");
getch();
//Limpieza de pantalla.
clrscr();
break;
}
//Condicion del bucle para repetir los diferentes submenus.
}while(Opcion2!=4);
//Condicion del bucle para salir del programa.
}while(Opcion1!=3);
}

2
Visual C++ / REVISION DE UN EJERCICIO
« en: Lunes 13 de Diciembre de 2010, 13:53 »
1) Realizar un programa que presente dos opciones alusuario:
      MENU 1:
       a) Trabajar con vectores: Lee del teclado un vector numérico realde 10 posiciones y lo visualiza del revés, empezando por el ultimo valor introducido.
       b) Trabajar con matrices:
               - Cargar una matriz "A" de orden 3x4 con numeros enteros.
               - Visualizar porpantalla la matriz "A".
               - Calcularlamatriz traspuesta de "A" y guardarla con el nombre de atriz "B".
               - Visualizar la matriz "B".
      MENU 2:
      Operar con matrices cuadradas de orden 3x3. El usuario introducira los valores de los elementos de la dos matrices y a continuación se le presentara un        menu que le permitira seleccionar las operaciones a realizar.
          a) Suma de matrices.
          b) Resta de matrices.
          c) Calcular determinantes de las dos matrices.

EN EL PROGRAMA QUE PRESENTO A CONTINUACION ME FALTA SOLO LA PARTE DEL MENU 1, QUE NOSE COMO REALIZARLA,ME GUSTARIA UNA PEQUEÑA AYUDA....GRACIAS DE ANTE MANO.


//Libreria basica de entrada/salida de datos.
#include <stdio.h>
//Libreria que permite limpiar el texto en la pantalla para facilitar su lectura.
#include <conio.h>
//Libreria que permite hacer operaciones matematicas avanzadas.
#include <math.h>

void main(void)
{
   //Declaracion de variables con su tipo.
   int Vector1[5], Vector2[5], Vector3[5];
   float Modulo1=0, Modulo2=0;
   int Ind=0;
   float Matriz1[3][3], Matriz2[3][3], Matriz3[3][3], MatrizTp1[3][3], MatrizTp2[3][3];
   int Fil=0, Col=0, Fil1=0, Col1=0;
   int Opcion1=0, Opcion2=4;

   //Presentacion del programa.
   printf("t ESTE PROGRAMA REALIZA OPERACIONES CON MATRICES Y VECTORES.");
   printf("nntt PULSE UNA TECLA PARA INICIAR EL PROGRAMA");
   getch();
   //Limpieza de pantalla.
   clrscr();
   //Bucle que se repite mientras el usuario no especifica salir del programa.
   do
   {
      //Presentacion del menu principal con sus opciones.
      printf("tttt --MENU PRINCIPAL--");
      printf("nntt ESCOJA UNA DE LAS SIGUIENTES OPCIONES:");
      printf("nntt 1.-EJERCICIO 1.");
      printf("nntt 2.-EJERCICIO 2");
      printf("nntt 3.-SALIR DEL PROGRAMA");
      printf("nntt Nº DE LA OPCION ESCOGIDA: ");
      //Depuracion del teclado por si se produce un "Overflow".
      fflush(stdin);
      //Lectura de la opcion definida por el usuario.
      scanf("%i", &Opcion1);
      //Limpieza de pantalla para pasar al siguiente menu.
      clrscr();
      //Bucle que se repite mientras el usuario no especifica salir del submenu.
      do
      {
         //Selector que ejecuta una u otra opcion dependiendo de la deseada por
         //el usuario.
         switch(Opcion1)
         {
            //Submenu de opeacion con vectores.
            case 1:
            //Presentacion del menu.
            printf("tttt--Menu de Ejercicio 1--");
            printf("nntt Elija el tipo de operacion que desea:");
            printf("nntt 1. Trabajar con vectores.");
            printf("nntt 2. Trabajar con matrices.");
            printf("nntt 3. Volver al menu principal.");
            printf("nntt Su opcion: ");
            //Depuracion del teclado por si se ha producido un "Overflow".
            fflush(stdin);
            //Lectura de la opcion deseada por el usuario.
            scanf("%i", &Opcion2);
            printf("n");
            //Condicion que nos permite introducir los datos si quiere realizar
            //el usuario algun tipo de operacion.
            if(Opcion2<4 && Opcion2>0)
            //Selector que ejecuta la opcion definida por el usuario.
            switch(Opcion2)
            {
               //Opcion: Visualizar vector al reves.
               case 1:
               {
               printf("Introduzca los valores del Vector 1:nn");
               //Bucle que recopila los datos del vector 1 introducidos por teclado.
               for(Ind=0; Ind<5; Ind++)
               {
                  printf("Valor %i: ", Ind);
                  scanf("%i", &Vector1[Ind]);
               }
            }
               //Opcion: Trasponer matriz.
               case 2:

               case 3:
               //Limpieza de pantalla.
               clrscr();
               break;
               //Resto de opciones.
               default:
               printf("nPor favor, escoja una opcion valida.");
               printf("nPulse una tecla para continuar.");
               getch();
               //Limpieza de pantalla.
               clrscr();
            }
            break;
            //Submenu de Ejercicio 2.
            case 2:
            //Presentacion del menu.
            printf("tttt --Menu de Ejercicio 2--");
            printf("nntt Elija el tipo de operacion que desea:");
            printf("nntt 1. Sumar las matrices.");
            printf("nntt 2. Restar las matrices.");
            printf("nntt 3. Trasponer las matrices.");
            printf("nntt 4. Salir al menu principal.");
            printf("nntt Su opcion: ");
            //Depuracion del teclado por posibles "Overflow".
            fflush(stdin);
            //Lectura de la opcion deseada por el usuario.
            scanf("%i", &Opcion2);
            printf("n");
            //Condicion que nos permite introducir los datos si el usuario ha
            //escogido una opcion que requiera lectura de datos.
            if(Opcion2<4 && Opcion2>0)
            {
               //Peticion de los datos de la matriz 1.
               printf("nIntroduzca los valores de la Matriz 1:n");
               //Bucle para rellenar cada celda de la matriz.
               for(Fil=0; Fil<3; Fil++)
               {
                  for(Col=0; Col<3; Col++)
                  {
                     printf("Valor x = %i, y = %i: ", Fil, Col);
                     scanf("%f", &Matriz1[Fil][Col]);
                  }
               }
               printf("n");
               //Peticion de los datos de la matriz 2.
               printf("Introduzca los valores de la Matriz 2:n");
               //Bucle para rellenar cada celda de la matriz.
               for(Fil=0; Fil<3; Fil++)
               {
                  for(Col=0; Col<3; Col++)
                  {
                     printf("Valor x = %i, y = %i: ", Fil, Col);
                     scanf("%f", &Matriz2[Fil][Col]);
                  }
               }
            }
            //Selector que nos lleva a la opcion seleccionada por el usuario.
            switch(Opcion2)
            {
               //Opcion_ Suma de matrices.
               case 1:
               printf("nHa elegido suma de matrices.");
               //Bucle para calcular la suma de la misma celda de cada matriz.
               for(Fil=0; Fil<3; Fil++)
               {
                  for(Col=0; Col<3; Col++)
                  {
                     //Calculo de la suma de cada componente.
                     Matriz3[Fil][Col]=Matriz1[Fil][Col]+Matriz2[Fil][Col];
                  }
               }
               //Representacion de los resultados obtenidos por pantalla.
               printf("nnEl resultado de la suma de las matrices es:nn");
               //Bucle para representar el valor de cada celda.
               for(Fil=0; Fil<3; Fil++)
               {
                  for(Col=0; Col<3; Col++)
                  {
                     printf("%7.1f", Matriz3[Fil][Col]);
                  }
                  printf("n");
               }
               printf("nPulse una tecla para continuar.");
               getch();
               //Limpieza de pantalla.
               clrscr();
               break;
               //Opcion: Resta de matrices.
               case 2:
               printf("nHa elegido resta de matrices.");
               //Bucle para calcular la resta de los valores de la misma celda de
               //cada matriz.
               for(Fil=0; Fil<3; Fil++)
               {
                  for(Col=0; Col<3; Col++)
                  {
                     //Calculo de la resta de cada valor.
                     Matriz3[Fil][Col]=Matriz1[Fil][Col]-Matriz2[Fil][Col];
                  }
               }
               //Representacion de los resultados obtenidos por pantalla.
               printf("nnEl resultado de la resta de las matrices es:nn");
               //Bucle para representar cada valor de cada celda.
               for(Fil=0; Fil<3; Fil++)
               {
                  for(Col=0; Col<3; Col++)
                  {
                     printf("%7.1f", Matriz3[Fil][Col]);
                  }
                  printf("n");
               }
               printf("nPulse una tecla para continuar.");
               getch();
               //Limpieza de los datos por pantalla.
               clrscr();
               break;
               //Opcion: Trasposicion de matrices.
               case 3:
               //Bucle para rellenar cada valor de la trasposicion de la matriz 1.
               for(Col=0; Col<3; Col++)
               {
                  for(Fil=0; Fil<3; Fil++)
                  {
                     //Asignacion de valores.
                     MatrizTp1[Fil1][Col1]=Matriz1[Fil][Col];
                     //Incremento de la columna de la matriz traspuesta para asignar
                     //los valores correctamente.
                     Col1++;
                  }
               //Incremento de la fila de la matriz traspuesta para asignar los
               //valores correctamente.
               Fil1++;
               //Vuelta a la columna 0 para asignar los valores de una fila nueva.
               Col1=0;
               }
               //Vuelta a las coordenadas 0,0 de la matriz traspuesta.
               Fil1=0;
               Col1=0;
               //Bucle para rellenar cada valor de la trasposicion de la matriz 2.
               for(Col=0; Col<3; Col++)
               {
                  for(Fil=0; Fil<3; Fil++)
                  {
                     //Asignacion de valores.
                     MatrizTp2[Fil1][Col1]=Matriz2[Fil][Col];
                     //Incremento de la columna de la matriz traspuesta para asignar
                     //los valores correctamente.
                     Col1++;
                  }
               //Incremento de la fila de la matriz traspuesta para asignar los
               //valores correctamente.
               Fil1++;
               //Vuelta a la columna 0 para asignar valores a una fila nueva.
               Col1=0;
               }
               //Representacion de los resultados por pantalla.
               printf("nnEl resultado de la trasposicion de la Matriz 1 es:nn");
               //Bucle para representar cada celda de la matriz 1.
               for(Fil1=0; Fil1<3; Fil1++)
               {
                  for(Col1=0; Col1<3; Col1++)
                  {
                     printf("%7.1f", MatrizTp1[Fil1][Col1]);
                  }
                  printf("n");
               }
               //
               printf("nnEl resultado de la trasposicion de la Matriz 2 es:nn");
               //Bucle para representar cada celda de la matriz 2.
               for(Fil1=0; Fil1<3; Fil1++)
               {
                  for(Col1=0; Col1<3; Col1++)
                  {
                     printf("%7.1f", MatrizTp2[Fil1][Col1]);
                  }
                  printf("n");
               }
               printf("nPulse una tecla para continuar.");
               getch();
               //Limpieza de pantalla.
               clrscr();
               break;
               //Opcion: Volver al menu principal.
               case 4:
               //Limpieza de pantalla.
               clrscr();
               break;
               //Resto de opciones.
               default:
               printf("Por favor, escoja una opcion valida.");
               printf("nPulse una tecla para continuar.");
               getch();
               //Limpieza de pantalla.
               clrscr();
            }
            break;
            //Opcion para salir del programa.
            case 3:
            //Limpieza de pantalla.
            clrscr();
            break;
            //Resto de opciones.
            default:
            printf("Por favor, introduzca una opcion valida.");
            printf("nPulse una tecla para continuar.");
            getch();
            //Limpieza de pantalla.
            clrscr();
            break;
         }
      //Condicion del bucle para repetir los diferentes submenus.
      }while(Opcion2!=4);
   //Condicion del bucle para salir del programa.
   }while(Opcion1!=3);
}

3
C/C++ / EJERCICIO
« en: Lunes 15 de Noviembre de 2010, 20:40 »
Buenas noches,necesitaria ayuda con un programa, soy principiante en programacion en C++. Alguien sabe hacer este programa, gracias.

Escribir un programa que visualice la siguiente salida, utilizando instrucciones repetitivas.

1
1 2
1 2 3
1 2 3 4
1 2 3
1 2
1

Páginas: [1]