elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a la Factorización De Semiprimos (RSA)


  Mostrar Mensajes
Páginas: [1]
1  Programación / Programación C/C++ / Re: Crear matriz partiendo de un vector ingresado en: 5 Octubre 2016, 23:41 pm
Muchas gracias a ambos por su ayuda!  :)
2  Programación / Programación C/C++ / Crear matriz partiendo de un vector ingresado en: 5 Octubre 2016, 05:14 am
Buenas, necesito ayuda con la siguiente parte que se pide para el programa, por que en verdad no se me ocurre como hacerlo:

Citar
el programa llama a la función "calcular_matriz" la
 cual debe calcular una matriz cuadrada cuyo numero de filas y de
 columnas es igual a la longitud del vector. En la fila 'k' y columna
 'n' de debe almacenar la suma de todos los números del vector que se
encuentran entre las posiciones 'k' y 'n' incluyendo a estas
 últimas. Por ejemplo, si el vector es [1 2 3 4 5] con k=1 y n=3,
 entonces en la fila 1 y conlumna 3 de la matriz se debe poner el
 numero vector[1]+vector[2]+vector[3] = 2+3+4 = 9 y lo mismo vale si
 k=3 y n=1. Es decir que la matriz resultante es simétrica.


El programa consiste en que se almacena un vector de máximo 10 digitos enteros. Se pueden almacenar menos numeros introduciendo un entero negativo al final del vector, el cual no va a ser almacenado.

 El vector es impreso en pantalla

Luego la función que calcula la matriz debe crear una matriz de numero de filas y columnas iguales a la longitud del vector hecha a partir del vector de la manera en que mencioné arriba, y por último debe ser impresa, quedando por ejemplo:

Citar
Ingrese los numeros del vector: 7 6 5 4 3 2 1 -1

 El vector es: 7 6 5 4 3 2 1

 La matriz es:

    7   13   18   22   25   27   28
   13    6   11   15   18   20   21
   18   11    5    9   12   14   15
   22   15    9    4    7    9   10
   25   18   12    7    3    5    6
   27   20   14    9    5    2    3
   28   21   15   10    6    3    1


Aquí dejo lo que tengo hecho del programa, solo me falta la función calcular_matriz e imprimir_matriz, tengan en cuenta que soy nuevo en esto de la programación, aunque no se me exige mucho con este programa :

Código:
#include<iostream>

using namespace std;
const int MAX = 10;

void cargar_vector(int [],int& );
void imprimir_vector(int [],int );

void calcular_matriz(double [][],int [],int);

void imprimir_matriz(double [][],int )

int main
{

int vector[MAX];
int longitud;
double matriz[MAX][MAX];

        cargar_vector(vector,longitud);

    imprimir_vector(vector,longitud);
     
        calcular_matriz(matriz, vector, longitud);
   
        imprimir_matriz(matriz, longitud);


       
return 0;
}

void cargar_vector(int V[],int& L)
{
    int i;
    cout<<"Ingrese los numeros del vector:"<<endl;   
    for(i=0;i<MAX;i++)
    {
        cin>>V[i];
       
       
        if(V[i]<0)
        {
            V[i]=0;
            break;
        }
       
        else if(V[i]>=0)
        {
            L++;
           
        }
        if(L>10)
            {
                L=10;  // EL PROGRAMA PERMITE INGRESAR NUMEROS UNO AL LADO DEL
            }              // OTRO, SEPARADOS POR UNO O MAS ESPACIOS, ENTONCES , SI
                                       // SE INGRESA MAS DE 10 NUMEROS, EL PROGRAMA TOMA 10.

       
    }


return;
}


void imprimir_vector(int V[],int L)
{
    int j;
   
    cout<<"El vector es :  ";
    for(j=0;j<L;j++)
    {
        cout<<V[j]<<" ";
    }
    cout<<endl;
    return;
   
}

void calcular_matriz(double M[][],int V[],int L)
{

}

void imprimir_matriz(double M[][],int L)
{

}
     
3  Programación / Programación C/C++ / Re: Ayuda por favor para terminar este programa en: 2 Mayo 2016, 15:05 pm
Gracias por la ayuda i-node.

He podido avanzar bastante, y el programa esta casi listo. Lo único que me falta es un detalle muy pequeño

Has visto que la ultima función, se encarga de buscar cual es el mayor numero de las 3 sumatorias en el vector.

Lo único que me falta ahora, es que el programa me diga, a cual fila corresponde la mayor de las tres sumatorias. Si a la 1, la 2 o a la 3. Es un detalle muy pequeño pero no se me ocurre como hacerlo

El programa ahora está asi:
Código:
#include <iostream>
#include <iomanip>

using namespace std;

const int N=3;
const int M=4;
int f,c;

void mostrar_matriz(int [N][M]);
void sumas(int [N][M],int [N]);
int busca_mayor(int [N],int &);



int main()
{
  
 int MATRIZ[N][M];
 int Suma[N]={0,0,0}
 int fila;
  
  
 for(f=0;f<N;f++)
{
   for(c=0;c<M;c++)
   {
      cout<<"Ingrese el elemento ("<<f<<" , "<<c<<") =";
      
      cin>>MATRIZ[f][c];
      
      while(MATRIZ[f][c]<0)
      {
         cout<<"Los valores deben ser positivos\n"<<endl;
         cout<<"Vuelva a ingresar el elemento ("<<f<<" , "<<c<<") =";
      cin>>MATRIZ[f][c];
      cout<<"\n\n";
     }
   }
}
mostrar_matriz(MATRIZ);

sumas(MATRIZ,Suma);
    

cout<<"el mayor es  "<<busca_mayor(Suma,fila)<<" de la fila "<<fila<<endl;





 system("pause");
 return 0;
    
}
    


void mostrar_matriz(int MATRIZ[N][M])    
{
   cout<<"La matriz ingresada es: "<<endl;
    
   for(f=0;f<N;f++)
   {
      cout<<endl;
      for(c=0;c<M;c++)
      {
         cout<<setw(4)<<MATRIZ[f][c];
      }
      
   }
   cout<<"\n\n";
    
    
    
}
    
    
void sumas(int MATRIZ[N][M],int Suma[N])
{
    
    int i,j;
    for (i=0;i<N;i++) // filas        
        for (j=0;j<M;j++) // columnas        
            Suma[i] += MATRIZ[i][j];
    

}

int busca_mayor(int Suma[N],int &fila)
{
   int mayor;
    for (fila=0;fila<N;fila++) // filas    
        if (Suma[fila] > mayor)
            mayor = Suma[fila];
            
            
            
            
            return mayor;


}


4  Programación / Programación C/C++ / Ayuda por favor para terminar este programa en: 1 Mayo 2016, 22:43 pm
Muy buenas necesito ayuda para terminar con este programa, me quedé estancado en las ultimas 2 funciones que no se bien como hacerlas.

Como verán , el programa almacena valores ingresados por el usuario en forma de matriz y luego los imprime en pantalla.

Me quedan por hacer las siguientes funciones..

void sumas(int MATRIZ[N][M],int Suma[N]):

Esta función toma como argumentos una matriz tamaño NxM y un vector de longitud N. Se debe calcular la sumatoria de cada fila y almacenarlo en el vector Suma en la posición cuyo índice sea el mismo que la fila en cuestión.

int busca_mayor(int Suma[N],int &fila):

Esta función toma como argumentos un vector de tamaño N por referencia la variables fila. Se debe buscar el máximo valor del vector y devolverlo como valor de retorno, a su vez se debe almacenar en fila la posición del máximo valor.


Código:
#include <iostream>
#include <iomanip>
using namespace std;

const int N=3;
const int M=4;
int f,c;

void mostrar_matriz(int [N][M]);
void sumas(int [N][M],int [N]);
int busca_mayor(int [N],int &);


int main()
{
 
 int MATRIZ[N][M];
 
 
 
 for(f=0;f<N;f++)
{
   for(c=0;c<M;c++)
   {
      cout<<"Ingrese el elemento ("<<f<<" , "<<c<<") =";
      
      cin>>MATRIZ[f][c];
      
      while(MATRIZ[f][c]<0)
      {
       cout<<"Los valores deben ser positivos\n"<<endl;
       cout<<"Vuelva a ingresar el elemento ("<<f<<" , "<<c<<") =";
cin>>MATRIZ[f][c];
cout<<"\n\n";
 }
      
}
 
}

mostrar_matriz(MATRIZ);





 system("pause");
 return 0;
 
}
 


void mostrar_matriz(int MATRIZ[N][M])
{
cout<<"La matriz ingresada es: "<<endl;

for(f=0;f<N;f++)
{
cout<<endl;
for(c=0;c<M;c++)
{
cout<<setw(4)<<MATRIZ[f][c];
}

}
cout<<"\n\n";



}


void sumas(int MATRIZ[N][M],int Suma[N])
{


}

int busca_mayor(int Suma[N],int &fila)
{

}

5  Programación / Programación C/C++ / Re: Ayuda con vectores c++ en: 16 Noviembre 2015, 04:05 am
Quizá me explique mal

Lo que debe suceder es esto:

El vector, tiene que tener como máximo 10 valores enteros positivos( puede tener menos valores, no es necesario que sea un vector de 10 números, ni tampoco rellenar con cero )



En el caso de ingresar menos de 10 valores, se debe ingresar un valor negativo cualquiera con el fin de cortar el bucle, y asi quedarnos con un vector de cualquier dimensión menor que 10, pero no se debe incluir el numero negativo, si no los anteriores solamente.



Igual muchas gracias por tu ayuda , por que me quitaste algunas dudas
6  Programación / Programación C/C++ / Ayuda con vectores c++ en: 16 Noviembre 2015, 00:30 am
Muy buenas, necesito saber como consigo hacer lo siguiente:

-Que pida al usuario ingresar un vector de números enteros positivos.

-Los números del vector se deben ingresar separados por uno o mas espacios.

-El final del vector estar indicado por un numero negativo. El vector se debe cargar dentro de la función
"cargar_vector".


-El tamaño máximo del vector esta indicado por la constante entera MAX=10. Si el usuario ingresa un vector mas grande de lo soportado,el programa deberá utilizar los primeros 10 números.

- Posteriormente, el programa debe imprimir por pantalla los elementos
del vector mediante la función "imprimir_vector".


Lo que necesito ayuda es en lo siguiente:

-Que una variable almacene el vector ingresado, el cual no debe tener mas de 10 numeros, y excluir el numero negativo que se ingresó al final para terminar de ingresarlo en el caso de que se ingresen menos de 10 numeros

y que la otra función imprimir_vector almacene la variable de la función cargar_vector



Ejemplo de funcionamiento:

Ingrese los números del vector: 7 6 5 4 3 2 1 -1

El vector es: 7 6 5 4 3 2 1


Código:
#include <iostream>
#include<iomanip>
using namespace std;
 
void cargar_vector(int [],int);
void imprimir_vector(int [],int);
 
const int MAX=10;
 
int main()
{
 
int vector[MAX];
 
int longitud;
 
 
 
  cargar_vector(vector, longitud);
 
 imprimir_vector(vector, longitud);
 
 
 
 
return 0;
}
 
void cargar_vector(int vector[],int longitud)
{
longitud=0;
    cout<<"Ingrese los numeros del vector: ";
 
 
while(longitud<MAX)
{
cin>>vector[longitud];
 
if(vector[longitud]<0)
{
 
break;
}
 
longitud++;
 
}
 
 
 
}
7  Programación / Programación C/C++ / ¿Como funciona este programa de C++? en: 2 Octubre 2015, 18:11 pm
Muy buenas, quisiera que me ayuden a entender lo siguiente

-Como llega la variable "a" a valer 47 ?

-Como actúa el If y porque al suprimirlo se altera el resultado de la suma que está en el final?

Código:
#include <iostream>
using namespace std;



int main()
{

int a=5;
int b=8;





while(a<4*b)
{
if((a+b)%2==0)


for(int d=a;d<3*b;d+=a+3)
a=a+d;
a=a+3;



}


cout<<a+b;

return 0;


}
8  Programación / Programación C/C++ / Ayuda por favor con programa en DEV-C++ en: 27 Septiembre 2015, 03:59 am
Muy buenas, Debo hacer un programa que cumpla lo siguiente:

 que solicite en forma continua que se introduzca una calificación. Si la calificación es menor que 0 o mayor que 100, el programa debe imprimir un mensaje informando al usuario que se ha introducido una calificación inválida y solicitar el ingreso de una calificación nueva.

 Cuando se introduzca una calificación de 999 el programa deberá salir del ciclo de repetición y calcular y desplegar:

 1). la cantidad de calificaciones válidas introducidas,
 2). el promedio de las calificaciones válidas introducidas
 3) .el valor de la mayor calificación válida introducida.

 Hasta ahora tengo hecho lo siguiente pero no se si está bien, y además me falta completarlo

Código:
#include <iostream>

 using namespace std;



 int main()
 {

 cout<<"Ingrese las calificaciones: "<<endl;
 cout<<" "<<endl;
 cout<<" "<<endl;


 int c;
 const int i=0;

 while(i==0)
 {

 cin>>c;

 if(c<0 || c>100)
 {
 cout<<"Por favor,ingrese un numero desde 0 hasta 100"<<endl;

 }
 }


 return 0;
 }
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines