Matrizes em C e C++

Publicado por Rafael 12/03/2007

[ Hits: 12.182 ]

Homepage: nenhum

Download matriz.cpp




Apenas um exemplo de como declarar uma matriz em C e C++.

Ao menos quando eu fui atrás disso pela primeira vez não foi fácil de achar :-)

  



Esconder código-fonte

#include <iostream.h>

struct ponto{
    float x;
    float y;
    };

int main(int argc, char * argv)
{

// Matriz em C++
   
    ponto ***matriz= new ponto**[10];   
    
    for (int a=0;a<10;a++){
   ponto **linha = new ponto*[10];   
   for (int b=0;b<10;b++){
       ponto* pim = new ponto;
           (*pim).x = a;
           (*pim).y = b;
       linha[b]=pim;   
   }
   matriz[a] = linha;
    }

// Matriz em C

    ponto ***matrizc = (ponto***) malloc(10*sizeof(ponto**));


    for (int a=0;a<10;a++){
   ponto **linhac = (ponto**) malloc(10*sizeof(ponto*));   
   for (int b=0;b<10;b++){
       ponto* pim = (ponto*) malloc(sizeof(ponto*));
           (*pim).x = a;
           (*pim).y = b;
       linhac[b]=pim;   
   }
   matrizc[a] = linhac;
    }

// O acesso a ambas as matriz é feita da mesma maneira :-]
   cout<<"Matriz em C++"<<endl;   
   for (int a=0;a<10;a++)
      for (int b=0;b<10;b++){
         cout<<"i:"<<matriz[a][b]->x<<"j:"<<matriz[a][b]->y<<endl;
   }
   cout<<"Matriz em C"<<endl;   
   for (int a=0;a<10;a++)
      for (int b=0;b<10;b++){
         cout<<"i:"<<matrizc[a][b]->x<<"j:"<<matrizc[a][b]->y<<endl;
   }
// Liberando a memória em C
   free (matrizc);
// Liberando a memória em C++
   delete [] matriz;
// Nunca confunda, use free sempre com malloc(C) e delete com new(C++)
   return 0;
}

Scripts recomendados

Lotando a memória do micro

Comando strlen

Jogo da cobrinha (Snake II) refeito em C e C++

Crud em C++ orientado a objetos com banco de dados MySQL

Media de N numeros


  

Comentários
[1] Comentário enviado por toze1 em 14/12/2007 - 14:37h

foi porreiro


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts