Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

renato.diniz

Declarando uma matriz de tamanho personalizado

Recommended Posts

É o seguinte amigos ...

 

Eu preciso ler de um arquivo o tamanho da matriz, e em seguida, criar a matriz de acordo com os tamanhos que eu li do arquivo.

 

Por exemplo...

 

class Grafo{    private:    int matriz[VERTICES][ARESTAS];    public:};void LeVerticesArestas(istream &f){    char buffer[200];    int v,a;    f.read(buffer,1);    if (buffer[0] == '#'){        f.getline(buffer,200,'\n');        f.getline(buffer,10,'\n');        v = atoi(buffer);        f.getline(buffer,200,'\n');        f.getline(buffer,10,'\n');        a = atoi(buffer);    }    else{        cout<<"Erro : Arquivo texto com formatação inválida.";    }}int main(int argc, char* argv[]){    fstream f;    f.open("grafo.dat");    LeVerticesArestas(f);    getch();    return 0;}
Eu preciso que as variaveis v e a da função LeVerticesArestas, sejam os tamanhos da matriz da classe Grafo.

 

Tudo que eu tentei ate o momento, retorna o seguinte erro:

 

E2313 Constant expression required

Arrays must be declared with constant size.

Compartilhar este post


Link para o post
Compartilhar em outros sites

o correto é fazer alocação dinâmica.

Nossa, matriz ia facilitar muito a minha vida.

 

Em c++ eu nao consigo uma vez que eu tenho uma variavel a=5, e b=3, criar uma matriz[a] não ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Em c++ eu nao consigo uma vez que eu tenho uma variavel a=5, e b=3, criar uma matriz[a] não ?

cara, eu já fiz isso em C uma vez

mas como disse não é ideal.

 

#include <stdio.h>#include <conio.h>int main(){	int x,y;	scanf("%d", &x);	scanf("%d", &y);	int matriz[x][y];	getch();	return 0;}

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.