Retornar a matriz da função c ++

Retornar a matriz da função c ++

Matrizes armazenam os dados do mesmo tipo em um local consecutivo de memória. As funções dividem os problemas maiores em pedaços menores para facilitar para os programadores codificar. Outra vantagem de usar a função é que ele faz com que o código pareça apresentável e limpo. Às vezes, precisamos de uma função que retorne uma matriz para que possamos utilizar essa matriz em outras funções. Então, vem o conceito de função de retorno da matriz em c++. É a função que retorna a matriz para outra função. Neste tutorial de dica do Linux, mostraremos com exemplos como retornar matrizes de funções que você escreve na linguagem C ++.

Métodos:

Para retornar uma matriz completa em uma única chamada de função não é possível. Fazemos isso com diferentes técnicas. Existem três metodologias em C ++ para retornar uma matriz de uma função. Vamos explicar todos eles um após o outro com códigos.

Retorne a matriz de uma função usando:

  • Ponteiros
  • Estrutura
  • Std :: Array

Ponteiros

Ponteiros em qualquer linguagem de programação são usados ​​para manter o endereço de memória de outro local de memória. Ponteiros também são usados ​​para passar uma função para outra função. Com isso, podemos transmitir uma matriz dados para as outras funções.

Nos ponteiros, também existem duas abordagens para devolver a matriz de uma função:

  • Matriz alocada dinamicamente
  • Matriz estaticamente alocada

Estrutura

As estruturas são utilizadas para armazenar os diferentes tipos de dados. Dentro das estruturas, podemos armazenar a matriz e fazer uma instância dessa estrutura. Dessa forma, podemos devolver a matriz. Podemos fazer mais de uma instância de estrutura para acessar a matriz que é armazenada na estrutura.

Std :: Array

Esta é outra função usada para retornar a matriz da função em c++. Ele também fornece dois métodos - um é o tamanho () e o outro está vazio (). A matriz STD :: podemos dizer, é um modelo de estruturas. Mas os dois métodos que ele fornece são o ponto positivo de usar esta função para obter a matriz de qualquer função. Esta função raramente é usada; Frequentemente usamos ponteiros e estrutura.

Exemplo 1:

Agora, para explicar como podemos usar os ponteiros para retornar a matriz dinâmica de uma função, observe o seguinte código:

#incluir
usando namespace std;
char* caractere_func ()

char* array_0 = novo char [3];
Array_0 [0] = 'A';
Array_0 [1] = 'B';
Array_0 [2] = 'C';
retornar array_0;

int main ()

char* p = caractere_func ();
cout<< "The character array is ";
cout <<"\t"<< p[0] << " " << p[1]<< " " << p[2];
retornar 0;


Depois de declarar a biblioteca, defina uma função caractere_func () para armazenar a matriz nela. A função é uma função do tipo de retorno. O tipo de retorno é "char" que retorna a matriz de caracteres. Char* diz que é um ponteiro armazenar os dados do tipo de caractere. Dentro desta função, declare uma matriz do ponteiro para armazenar a matriz de personagens. O tamanho da matriz é 3. Em seguida, a matriz é inicializada pelo número do índice e retorna a variável da matriz. Armazenamos a matriz de personagens em "Array_0". No método main (), crie um ponteiro "p" do tipo de caractere e armazene o caractere_func (). Isso significa que, com a ajuda deste ponteiro "P", podemos acessar os elementos em caracteres_func (). Em seguida, mostre uma mensagem no terminal com o “cout<<” statement. Similarly, print the array components by accessing them with the pointer “p” from the return type function. Cout<< “\t” leaves a tab space, <

Exemplo 2:

Aqui, utilizamos os ponteiros para devolver a matriz estática de uma função.

#incluir
usando namespace std;
Float* FLOATING_FUNC ()

estático flutuante array_1 [2];
Array_1 [0] = 3.5;
Array_1 [1] = 5.7;
retornar array_1;

int main ()

Float* ponteiro = FLOATING_FUNC ();
cout<<"\n\t The floating point static array is ";
cout <<"\t"<< pointer[0] << "\t" << pointer[1]<retornar 0;


Neste exemplo, vamos pegar uma função de ponteiro de retorno do tipo de flutuação que retorna a matriz de ponto flutuante. Dentro da função Floating_func (), inicialize uma matriz de ponto flutuante - "Array_1" - do tamanho 2. Aqui, usamos a palavra -chave "estática" para definir a variável como uma variável local que pode ser acessada fora da função. Agora, declare a matriz e retorna a variável da matriz. Na função Main (), defina um ponteiro de ponto flutuante e atribua uma função FLOTING_FUNC (). Em seguida, represente uma mensagem na tela. Com a ajuda de um ponteiro, agora podemos acessar todos os elementos da função do tipo de retorno. Mostre os elementos da matriz chamando um ponteiro. O ponteiro entra na função e recebe a matriz que definimos como o retorno. Empregue a declaração "Return 0" para rescindir o código.

Exemplo 3:

Nesta última instância, retornamos uma matriz de uma função usando estruturas.

#incluir
usando namespace std;
estrutura arr
int a [5];
;
struct ar arr_func ()

struct arr val;
Val.a [0] = 5;
Val.a [1] = 67;
Val.a [2] = 98;
Val.a [3] = 77;
Val.a [4] = 55;
retornar val;

int main ()

struct arr val = arr_func ();
cout<<"\n\tThe array is \n";
para (int i = 0; i<5; i++)

cout <<"\t"<< val.a[i]<
retornar 0;


Defina a estrutura "arr" usando a palavra -chave "struct". Nesta estrutura, inicialize uma matriz de tamanho 5. Em seguida, declaramos as diferentes variáveis ​​e as acessamos com o nome da estrutura para usá -las nas funções. Agora, crie uma estrutura de estrutura arr_func () para inicializar a matriz. Para fazer isso, defina uma "estrutura" para chamar a variável "val". A variável "val" acessa a localização da matriz "struct" e armazenar o valor. Todos os itens da matriz agora estão armazenados em "Val". No método main (), crie a instância de "struct" e atribua a função arr_func (). Imprima o texto “The Array is” no console chamando o "cout<<”. To print the array, we utilize the “for” loop. Set the “for” to iterate 5 times. Insert the statement inside the curly braces so that we get the items of the array. Outside the loop, pass the “return 0” statement.

Conclusão

Este artigo ilustra como retornar uma matriz de uma função em c++. A matriz pode ser devolvida da função com três abordagens diferentes. Cada metodologia é explicada em detalhes, seguindo o exemplo de codificação. Tudo é abordado desde o início, incluindo o uso de ponteiros e seus tipos, o uso de estruturas e a função de matriz std ::. C ++ não possui métodos internos como os outros idiomas fornecem, por isso temos que fazer tudo por conta própria. C ++ é melhor para iniciantes entender o básico da codificação.