[ Foro de C++ ]

Necesito ayuda, por favor.

29-Jul-2020 08:41
Invitado (Jos?)
1 Respuestas

Sea la matriz cuadrada  A n x  n ,   donde cada elemento    a i j  se encuentra en la fila i y en la columna j.  Calcule e imprima :
-El producto de los elementos de la diagonal principal;
-La suma de aquellos elementos para los cuales i < j      
-El cuadrado de la suma de los elementos si i > j.
Utilice funciones para generar cada una de las operaciones.


05-Aug-2020 08:05
Invitado (Jos?)

Yo mismo lo hice, así me quedó, espero les ayude:

#include <iostream>
#include <cstdlib>
#include <ctime>
#include <iomanip>

const int maxFilasColumnas = 10;

using namespace std;

void genera_arreglo(int[][maxFilasColumnas],int,int);
void imprime_arreglo(int[][maxFilasColumnas],int,int);
void multiplicacion_diagonal(int[][maxFilasColumnas],int,int);
void suma(int[][maxFilasColumnas],int,int);
void cuadrado(int[][maxFilasColumnas],int,int);
int random(int ,int);

int main(){
   int array[maxFilasColumnas][maxFilasColumnas];
   int filas=1;
   int columnas=1;
   cout<<"ingrese la cantidad de filas:"<<endl;
   cin>>filas;
   cout<<"Ingrese el tamaño de las columnas:"<<endl;
   cin>>columnas;
   
   if ((filas<1 || filas>10) || (columnas<1 || columnas > 10)){
cout << "\nParametros no validos! ";
}
else{
genera_arreglo(array,filas,columnas);
       imprime_arreglo(array,filas,columnas);
       multiplicacion_diagonal(array,filas,columnas);
       suma(array,filas,columnas);
       cuadrado(array,filas,columnas);
}
return 0;
}



void genera_arreglo(int array[][maxFilasColumnas],int f,int c){
srand(time(NULL));
       for(int i=0;i<f;i++) {
   for(int j=0;j<c;j++){
               array[i][j]= random(5,20);
           }
       }
}

int random(int min, int max){
if (min > max) return max;
return min + (rand() % (max - min +1 ));
}

void imprime_arreglo(int array[][maxFilasColumnas],int f,int c){
   for(int i=0;i<f;i++){
    cout<<endl;
    for(int j=0;j<c;j++){
   cout<<setw(4)<<array[i][j];  
       }
   }
   cout<<endl<<endl;
}

void multiplicacion_diagonal(int array[][maxFilasColumnas],int f,int c){
   int multi=1;
   for (int i=0;i<f;i++){
    for(int j=0;j<c;j++){
       if(i==j){
               multi *=array[i][j];      
           }
       }  
   }
   cout << "Multiplicacion de la Diagonal: "<<multi<<endl;
}


void suma(int array[][maxFilasColumnas],int f,int c){
int suma=array[0][1];
   for (int i=0;i<f;i++){
    for(int j=0;j<c;j++){
       if(i<j){
               suma +=array[i][j];              
           }
       }  
   }
   suma= suma-array[0][1];
   cout << "Suma de los elementos donde i<j: "<<suma<<endl;
}


void cuadrado(int array[][maxFilasColumnas],int f,int c){
int cuadrado=0;
   for (int i=0;i<f;i++){
    for(int j=0;j<c;j++){
       if(i>j){
               cuadrado +=array[i][j];                
           }
       }  
   }
   cuadrado= cuadrado*cuadrado;
   cout << "El cuadrado de la suma para los elementos i > j: "<<cuadrado<<endl;
}






Si ya eres usuario del sistema, puedes contestar desde tu cuenta y así ganar prestigio.

Si sólo eres un visitante, puedes optar por...