Compreensão de Matriz de String em C++

Ei, pessoal! Então, como programadores, lidamos frequentemente com matrizes de todos os tipos de dados. Hoje, vamos abordar matriz de string em C++ no artigo de hoje.

Formas de declarar uma matriz de string em C++

Ways To Create C++ String Array

1. A palavra-chave String para Criar uma Matriz de String em C++

C++ provides us with ‘string’ keyword to declare and manipulate data in a String array.

A palavra-chave string aloca memória para os elementos da matriz em tempo de execução de acordo. Assim, ela poupa o trabalho de alocação de memória estática para os elementos de dados.

Sintaxe: Para declarar uma matriz de string usando a palavra-chave ‘string’

string array-name[size];

Além disso, podemos inicializar a matriz de string usando a sintaxe abaixo:

string array-name[size]={'val1','val2',.....,'valN'};

Exemplo 1:

#include <bits/stdc++.h> 
using namespace std; 

int main() 
{
	string fruits[5] = { "Grapes", "Apple","Pineapple", "Banana", "Jackfruit" }; 

	cout<<"String array:\n";
	for (int x = 0; x< 5; x++) 
		cout << fruits[x] << "\n"; 
} 

No exemplo acima, inicializamos a matriz de string e usamos loops em C++ para percorrer a matriz e imprimir os itens de dados presentes na matriz de string.

Output:

String array:
Grapes
Apple
Pineapple
Banana
Jackfruit

Exemplo 2:

#include <bits/stdc++.h> 
using namespace std; 

int main() 
{ 
 
	string arr[5];
	cout<<"Enter the elements:"<<endl;
	for(int x = 0; x<5;x++)
	{
	    cin>>arr[x];
	}

	cout<<"\nString array:\n";
	for (int x = 0; x< 5; x++) 
		cout << arr[x] << "\n"; 
} 

Como todos podem ver, no exemplo acima, aceitamos os itens de dados da matriz de string do console, ou seja, a entrada do usuário é solicitada e os elementos da matriz de string são impressos.

Resultado:

Enter the elements:
Jim
Nick
Daisy
Joha
Sam

String array:
Jim
Nick
Daisy
Joha
Sam

2. Usando o Contêiner C++ STL – Vector

C++ Standard Template Library provides us with containers to work with data and store it efficiently.

O Vector, sendo um desses contêineres, armazena os elementos do array de forma dinâmica. Assim, os Vetores C++ podem ser usados para criar um array de strings e manipulá-lo facilmente.

Sintaxe:

vector<string>array-name;
  • O método vector.push_back(element) é usado para adicionar elementos ao array de strings do vetor.
  • O método vector.size() é usado para calcular o comprimento do array, ou seja, a contagem dos elementos inseridos no array de strings.

Exemplo:

#include <bits/stdc++.h> 
using namespace std; 

int main() 
{ 

	vector<string> arr; 
	arr.push_back("Ace"); 
	arr.push_back("King"); 
	arr.push_back("Queen"); 

       int size = arr.size();
cout<<"Elements of the vector array:"<<endl;
	for (int x= 0; x< size; x++) 
		cout << arr[x] << "\n"; 
} 

Resultado:

Elements of the vector array:
Ace
King
Queen

3. Usando um array 2D de caracteres

A 2D array represents an array of string in C++. So, we can use a 2D char array to represent string type elements in an array.

O array de caracteres cria e armazena elementos em tempo estático ou de compilação, ou seja, o número e o tamanho dos elementos permanecem fixos/constantes.

Sintaxe:

char array-name[number-of-items][maximun_size-of-string];

Exemplo:

#include <bits/stdc++.h> 
using namespace std; 

int main() 
{ 
 
	char fruits[5][10] = { "Grapes", "Apple","Pineapple", "Banana", "Jackfruit" }; 

	cout<<"Character array:\n";
	for (int x = 0; x< 5; x++) 
		cout << fruits[x] << "\n"; 
} 

No trecho de código acima, criamos um array de caracteres para armazenar elementos do tipo string, ou seja, `char array[5][10]`. Aqui, 5 representa a quantidade de elementos de string, e 10 indica o tamanho máximo da string de entrada.

Saída:

Character array:
Grapes
Apple
Pineapple
Banana
Jackfruit

C++ String Array as an Argument to a Function

A string array can also be passed to a function as an argument the same way as another non-string type array is passed to it.

Sintaxe:

return-type function-name(string array-name[size])
{
  // corpo da função
}

Exemplo:

#include <iostream>
#include<string>
using namespace std;
void show(string arr[4]){
   
for(int x=0;x<4;x++)
{
    cout<<arr[x]<<endl;
}

}
int main() {
string arr[4] = {"Jim", "Jeo", "Jio", "John"};
cout<<"Printing elements of the string array:"<<endl;
show(arr);

}

Saída:

Printing elements of the string array:
Jim
Jeo
Jio
John

Conclusão

Neste artigo, compreendemos maneiras de criar arrays de strings e técnicas para utilizá-los em uma função.

Referências

Source:
https://www.digitalocean.com/community/tutorials/string-array-in-c-plus-plus