Como usar uma matriz em c ++

A ordem é uma sequência de variáveis ​​em C ++ que partilha o mesmo nome e que é referenciado usando um índice. O seguinte programa C ++ introduz uma sequência de valores inteiros a partir do teclado que o utilizador entre um número negativo. O programa, em seguida, exibe a entrada de 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 using 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 []) {// entrada do circuito countcout lt; lt; "Isto resume programa de valores introduzidos "lt; lt; "pela usern"-cout lt; lt; "Terminar o loop inserindo "lt; lt; "um numbern negativo"-cout lt; lt; endl - // li números para ser resumida do utilizador numa // inputValues ​​arrayint locais [128] -int numberOfValues ​​= ReadArray (inputValues, 128) - // agora os valores de saída e a soma da 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 () - retorno 0 -} // ReadArray - ler inteiros do operador em // `IntegerArray` até que o operador entra neg.// Devolver 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; "Digite o próximo número: "CIN II-III gt; gt; integerValue - // se for negativo ... se (integerValue lt; 0) {// ... então exitbreak -} // ... caso contrário armazenar 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-para (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 - voltar a soma dos membros de um número inteiro // arrayint sumArray (int IntegerArray [], int numElements) {int acumulador = 0-para (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 programa principal 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 que o usuário não inserir um número negativo, já que é todo o espaço alocado no inputValues ​​[] matriz.

a matriz inputValues é declarada como 128 inteiros longos. 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 um array 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 a qual existe espaço no inn. A função começa com um para circuito 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], o segundo em IntegerArray [1], e assim por diante.

Uma vez que o utilizador introduz um número negativo, o programa de quebra para fora do loop e retorna ao total 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 resume os elementos armazenados em ali acumulador, que, em seguida, retorna para o chamador.

Aviso, 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 tão logo Eu alcances numElements. A saída a partir de um exemplo de execução aparece como se segue:

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 adivinhar, o termo iterar significa para atravessar através de um conjunto de objectos, tais como uma matriz. Os programadores dizer que as funções precedentes iteração através da matriz.


Publicações relacionadas