Предмет: Информатика, автор: nnlleyso

двовимірні масиви С++
20 грн на карту бонусом !!!Задана дійсна матриця Аij розмірності n*m. Написати програму, що обчислює нову
матрицю Bij . Матриця Bij отримується шляхом поділу всіх елементів заданої матриці
Aij на її найбільший по модулю елемент.

Ответы

Автор ответа: nazikmuz
0

Відповідь:

#include <iostream>

#include <cstdlib>

#include <time.h>

#include <cmath>

using namespace std;

void randarr(float **A,int n,int m){

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

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

  A[i][j] = (-400+rand()%999)/100.f;

 }

}

}

void printarr(float **A, int n, int m){

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

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

  cout << A[i][j] << "\t";

 }

 cout << endl;

}

}

float maxelement(float **A,int n, int m){

float max = A[0][0];

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

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

  if(A[i][j] > max){

   max = A[i][j];

  }

 }

}

return abs(max);

}

void expression(float **A,int n, int m){

float **B = new float *[n];

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

       B[i]=new float[m];

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

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

  B[i][j] = A[i][j] / maxelement(A,n,m);

 }

}

printarr(B,n,m);

 

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

    delete[]B[i];

   delete[]B;  

}

int main(){

srand(time(NULL));

setlocale(LC_ALL , "Ukrainian");

int n,m;

cout << "Введiть n: ";

cin >> n;

cout << "Введiть m: ";

cin >> m;

float **A = new float *[n];

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

       A[i]=new float[m];

   

randarr(A,n,m);

printarr(A,n,m);

cout << "\n" << maxelement(A,n,m);

expression(A,n,m);

   

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

    delete[]A[i];

   delete[]A;

return 0

}


nazikmuz: Якщо я правильно зрозумів умову задачі
nnlleyso: дякую
nazikmuz: Звертайтеся
nnlleyso: номер карти☺️ ?
nazikmuz: Не потрібно
nazikmuz: Залиш собі
Похожие вопросы
Предмет: Алгебра, автор: fado75