Pesquisar este blog

quinta-feira, 28 de outubro de 2010

Trabalhando com Arrays em C++

 Nesta postagem quero demonstrar algumas formas de se trabalhar com Arrays estático e dinâmico. O 1º Exemplo é de um array estático simples, veja o código.
int main(){      int smValor[3];
      cout << "Digite um numero: ";      cin >> smValor[0];      cout << "Digite outro número: ";      cin >> smValor[1];      smValor[2] = smValor[0]+smValor[1];      cout << "Resultado da soma: " << smValor[2];      cout << "\n";     
system("pause");
}
       Percebam que declarei um Array de três posições sendo que um das posições serve para receber o cálculo da soma da 1ª e da 2ª posição do Array.
       Em nosso próximo exemplo ainda com array estático procuro demonstrar o mesmo cálculo feito acima mas com a possibilidade de se usar um looping para varrer um array em busca dos valores nele contido.
Veja o código:
#include int main()
{
    int smValor[2];
    int vlrTotal =0;
    int i =1;
    while (i<=2)
   {
        cout << "Digite um numero: ";
        cin >> smValor[i];
        i++;
   }
    i =1;
    while (i<=2)
   {
       vlrTotal = vlrTotal + smValor[i];       i++;
   }
   cout << "Resultado da soma: " << vlrTotal;
   cout << "\n";   
system("Pause");
}
       No código acima foi utilizado o While para fazer a repetição e as instruções para sair e manipular a quantidade de repetições ficou dividida interna e externamente, isto pode ser notado nos pontos onde se encontra i =1; e i++; e while (i<=2) se "for" usado um for ao invés do um "while" isso tudo ficaria em uma única linha.
       Em nosso próximo código vamos trabalhar com Array Dinâmico, "O que significa array dinâmico?", dinâmico quer dizer que não possui um tamanho pré-definido, sendo assim que irá definir o tamanho de nosso array será o usuário, que terá a possibilidade de optar pela quantidade de linhas que nosso array terá. Vejam o código abaixo:
#include int main(){
    int vlrTotal =0;
    int i =1;
    int x =1;
    cout << "Digite a quantidade de números a serem utilizados na soma: ";
    cin >> x;
    int smValor[x];
    while (i<=x)
{
       cout << "Digite um numero: ";
       cin >> smValor[i];
         i++;
    }
    i =1;
    while (i<=x)
    {
        vlrTotal = vlrTotal + smValor[i];
         i++; }
    cout << "Resultado da soma: " << vlrTotal;
    cout << "\n";
    system("pause");
}
       O interessante de se programar em C/C++ é que o mesmo não exige a declaração no cabeçalho do seu código, notem que o Array foi declarado após perguntar ao usuário o tamanho que ele queria para o Array, claro que a pergunta diz "quantidade de números " é simplesmente para facilitar para o usuário, imaginem perguntar "Digite o tamanho do Array a ser utilizado", a primeira pergunta do mesmo seria "hein??", depois "Que isso? Array??".
       A quantidade de linhas que nosso Array terá é determinada por "x". No próximo código iremos trabalhar mais uma vez com Array dinâmico, mas agora com linhas e colunas, vejam o código:
#include int main(){
    int TotLin =1;
    int i =1;
    int x =1;
    int vlr =0;
    cout << "Digite a quantidade de linhas e colunas a serem utilizadas: ";
    cin >> TotLin;
    int smValor[TotLin][TotLin];
   
for(i=1;i<=TotLin;i++){         x = 1;
    for(x=1;x<=TotLin;x++)
           {
                cout << "Digite um nº. para a linha " << i << " coluna " << x << ":";
                cin >> vlr;
                smValor[i][x] = vlr;
           }
    }
    for(i=1;i<=TotLin;i++)   {
           x = 1;
           for(x=1;x<=TotLin;x++)           {
                 cout << smValor[i][x];            }
          cout << endl;
    }
    cout << endl;    system("pause");
}
       No código acima substitui o While por For, notem como o código ficou mais claro, usei também "endl" que substitui em muitas vezes o comando "\n", percebam ainda que neste código o usuário ainda determina o tamanho do Array, só não efetuei cálculo algum, pedi apenas para que exiba os valores contidos no Array.
       Na declaração do Array "int smValor[TotLin][TotLin];", usei o mesmo tamanho para linha e para coluna, mas tudo vai depender de como se deseja trabalhar com os vetores, pois podemos ter por exemplo um vetor de 2 linhas e 10 colunas, cabe a cada um analisar o que deseja com o código.
       Espero que este pequeno tutorial possa ajudar.
Abraços e até a próxima postagem.

Nenhum comentário:

Postar um comentário