Como usar uma matriz em C ++

A ordem é uma sequência de variáveis ​​em C ++ que compartilha o mesmo nome e que é referenciado usando um índice. O seguinte programa C ++ insere uma sequência de valores inteiros a partir do teclado até que o usuário digita um número negativo. O programa, em seguida, exibe a entrada números e relata sua soma.

// ArrayDemo - demonstrar o uso de matrizes // através da leitura de uma sequência de números inteiros // e, em seguida, exibi-los e sua soma # incluem #incluir #incluir usando namespace std - // protótipo declarationsint ReadArray (int IntegerArray [], int maxNumElements) -int sumArray (int IntegerArray [], int numElements) -void DisplayArray (int IntegerArray [], int numElements) -int main (int nNumberofArgs, char * pszArgs []) {// inserir o countcout circuito lt; lt; "Este programa valores montantes inscritos" lt; lt; "Por parte do utilizador n" -cout lt; lt; "Terminar o ciclo introduzindo" lt; lt; "Um número negativo n" -cout lt; lt; endl - // ler números a serem somados do usuário em um // inputValues ​​arrayint locais [128] -int numberOfValues ​​= ReadArray (inputValues, 128) - // agora fornecer os valores e a soma do valuesdisplayArray (inputValues, numberOfValues) -cout lt; lt; "A soma é" lt; lt; sumArray (inputValues, numberOfValues) lt; lt; endl - // espera até que o usuário está pronto antes de terminar o programa // para permitir que o usuário veja o resultscout programa lt; lt; "Pressione Enter para continuar ..." lt; lt; endl-cin.ignore (10, ' n') - cin.get () - return 0 -} // ReadArray - leia inteiros de o operador em // 'IntegerArray' até que o operador entra neg.// Retorna o número de elementos stored.int ReadArray (int IntegerArray [], int maxNumElements) {int numberOfValues-para (numberOfValues ​​= 0-numberOfValues lt; maxNumElements-numberOfValues ​​++) {// buscar outra numberint integerValue-cout lt; lt; "Enter próximo número:" CIN II-III >> integerValue - // se for negativo ... if (integerValue lt; 0) {// ... então exitbreak -} // ... caso contrário, guardar o número // no armazenamento arrayintegerArray [numberOfValues] = integerValue -} // retorna o número de elementos readreturn numberOfValues ​​-} // DisplayArray - exibição os membros de uma matriz // de comprimento sizeOfloatArrayvoid DisplayArray (int IntegerArray [], int numElements) {cout lt; lt; "O valor da matriz é:" lt; lt; endl-for (int i = 0- i lt; numElements- i ++) {cout lt; lt; Eu lt; lt; ":" lt; lt; IntegerArray [i] lt; lt; endl-} cout lt; lt; endl -} // sumArray - retornar a soma dos membros de um inteiro // arrayint sumArray (int IntegerArray [], int numElements) {int acumulador = 0-for (int i = 0- i lt; numElements- i ++) {acumulador + = IntegerArray [i] -} retornar accumulator-}

O programa ArrayDemo começa com declarações de protótipo das funções ReadArray (), sumArray (), e DisplayArray (), que ele vai precisar mais tarde. O principal programa começa com um aviso para o usuário para entrada de dados a serem somados. O programa então declara uma matriz inputValues ​​[] a ser usada para armazenar a entrada de valores pelo utilizador.

O programa principal passa essa matriz para ReadArray (), juntamente com o comprimento da matriz - ReadArray () não pode ler mais de 128 valores, mesmo se o usuário não insira um número negativo já que é todo o espaço alocado no inputValues ​​[] array.

a matriz inputValues é declarada como 128 inteiros de comprimento. Se você está pensando que isso deve ser mais do que suficiente, não conte com isso. Não importa quão grande você fazer a matriz, coloque sempre uma verificação para se certificar de que você não exceda os limites do array. Escrever mais dados do que uma matriz pode conter causas seu programa para executar de forma irregular e muitas vezes a colisão.

A função principal, em seguida, chama DisplayArray () para imprimir o conteúdo da matriz. Finalmente, as chamadas de função sumArray () para adicionar os elementos na matriz.

o ReadArray () função recebe dois argumentos: o IntegerArray [] na qual para armazenar os valores que ele lê e maxNumElements, o número máximo de valores inteiros para os quais há lugar na pousada. A função começa com um para loop que lê valores inteiros. Cada valor não negativo que a função lê são salvos em IntegerArray []. O primeiro elemento entra em IntegerArray [0], em segundo IntegerArray [1], e assim por diante.

Uma vez que o usuário digita um número negativo, o programa divide fora do circuito e retorna o total de numberOfValues entrada.

o DisplayArray () função também utiliza um para loop para atravessar os elementos da matriz, a partir de 0 e continuando até ao último elemento, que é numElements - 1. A função final, sumArray (), Também itera através da matriz, mas soma os elementos armazenados lá para acumulador, que, em seguida, retorna para o chamador.

Note, mais uma vez, que o índice Eu no DisplayArray () e sumArray () funções é inicializado para 0 e não para 1. Além disso, observe como o para loop termina logo Eu alcances numElements. A saída de um exemplo de execução aparece da seguinte forma:

Este programa resume valores inseridos pelo userTerminate o loop inserindo um numberEnter negativo próximo número: 10Digite o próximo número: 20Digite o próximo número: 30Digite o próximo número: 40Digite o próximo número: -1O valor da matriz é: 0: 101: 202: 303: soma 40The é 100Press Enter para continuar ...

Apenas para manter não-programadores adivinhando, o termo iterar significa para atravessar através de um conjunto de objetos, tais como uma matriz. Os programadores dizem que as funções anteriores percorrer a matriz.

menu