1

I want to call an empty bidimensional array in a void function in order to insert some elements in it.

#include <iostream>
#include <fstream>
#include <cmath>

void read(int& dim, int vect[])
{
    std::ifstream fin("fisier.in");
    fin >> dim;
    for (int i = 0; i < dim; i++)
    {
        fin >> vect[i];
    }
}

void create(int Va[], int Ca[], int La[], int dimV, int dimC, int dimL, int mat[][])
{
    int k = 0;
    for (int i = 0; i < dimL; i++)
        for (int j = 0; j < dimC; j++)
        {
            mat[La[i]][Ca[j]] = Va[k];
            k++;
        }
}

void print(int dim, int mat[][])
{
    std::ofstream fout("fisier.out");
    for (int i = 0; i < dim; i++)
    {
        for (int j = 0; j < dim; j++)
            fout << mat[i][j] << " ";
        fout << "\n";
    }
}

int main()
{
    int Va[10001], Ca[100], La[100], dimV, dimC, dimL, mat[100][100] = { 0 };
    read(dimV, Va);
    read(dimC, Ca);
    read(dimL, La);
    dim = sqrt(dimV);
    create(Va, Ca, La, dimV, dimC, dimL, mat);
    print(dim, mat);
}

When I am trying to call it, there is an error which says "an array may not have elemets of this type". The problem is in "create" and "print" function.

Chris
  • 26,361
  • 5
  • 21
  • 42

0 Answers0