@Timak31
студент

Не показывает матрицу, в чем ошибка?

Задаем две матрицы А(m*n), B(n*k) ,
#include <iostream>
#include <math.h>
#include "vova.h"

using namespace std;

int main(){
    int m;
    int n;
    int k;
    cout << "First matrix :\n\tm = ";
    cin >> m;
    cout << "\tn = ";
    cin >> n;
    cout << "Second matrix :\n\tn = " << n << "\n\tk = ";
    cin >> k;
    double** A = new double*[m];
    double** B = new double*[n];
    for(int i=0; i<m; i++){
        A[i] = new double[n];
    }
    for(int i=0; i<n; i++){
        B[i] = new double[k];
    }
    cout << "Matrix 1 :" << endl;
    for(int i=0; i<m; i++){
        for(int j=0; j<n; j++){
            cout << "A[" << i+1 << "][" <<j+1 << "] = " ;
            cin >> A[i][j];
            cout << "\t";

        }
        cout << endl;
    }
    cout << "Matrix 2 :" << endl;
    for(int i=0; i<n; i++){
        for(int j=0; j<k; j++){
            cout << "B[" << i+1 << "][" <<j+1 << "] = " ;
            cin >> B[i][j];
            cout << "\t";

        }
        cout << endl;
    }
    vova(m, n, k, A, B);
    return 0;
}

потом передаем их в другой файл,
#include <math.h>

using namespace std;

double vova(int m, int n, int k, double** A, double** B){
    double minA, minB, maxA, maxB;
    for(int i=0; i<m; i++){
        for(int j=0; i<n; j++){
            if(A[i][j] < minA){
                minA = A[i][j];
            }
            if(A[i][j] > maxA){
                maxA = A[i][j];
            }
        }
    }
    for(int i=0; i<n; i++){
        for(int j=0; i<k; j++){
            if(B[i][j] < minB){
                minB = B[i][j];
            }
            if(B[i][j] > maxB){
                maxB = B[i][j];
            }
        }
    }
    cout << "Dobutok min and max matrix 1 = " << minA*maxA << "\nDobutok min and max matrix 2 = " << minB*maxB << endl;

}

и ищим найбольшее и найменшее значение каждой из матриц. Нужно найти добуток максимального и минимального значения, каждой матрицы.
Что здесь не так, я вроде не первый раз делаю подобные задачи но эта не работает?
Наверное проблема с вводом матрицы, потому что я попробывал просто вывести ее но мне также выводит ошибку.
  • Вопрос задан
  • 149 просмотров
Решения вопроса 1
AtomKrieg
@AtomKrieg
Давай я поищу в Google за тебя
i < n в файле вова во вторых циклах, а должно быть j < n
for(int i=0; i<m; i++){
        for(int j=0; i < n; j++){

Ну и еще у вас проблемы будут если не инициализируете переменные так:
minA = maxA = A[0][0];
minB = maxB = B[0][0];
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы