Suponha que você precisa resolver o seguinte problema: dado uma sequência de N números, de posições de 1 a N (ao invés de 0 a N-1) você tem que responder Q perguntas sobre ela da forma: dados X,Y, você precisa responder qual a soma dos números na posição X e Y da sequência. Você vai precisar armazenar N variáveis, ou seja, além de N poder ser grande ele é indefinido. Como vamos resolver isso? Vamos criar um vetor.
Um vetor é uma sequência de variáveis do mesmo tipo onde é possível acessar cada uma delas individualmente pelo seu índice. Veja como podemos declarar um vetor:
// primeiro especificamos o tipo de variável, depois o | |
// seu nome e por último seu tamanho entre colchetes | |
int v[100]; |
Vamos supor que o problema nos dá que o tamanho máximo de N é 1000. Neste caso vamos declarar um vetor de inteiros de 1010 posições(é sempre bom declarar o vetor com umas posições a mais sobrando). Veja o código:
#include <iostream> | |
using namespace std; | |
// um costume que é bom ter para evitar erros e deixar o código mais organizado é | |
// declarar o tamanho do vetor antes(fora da main) como uma variável constante e global | |
const int maxn = 1010; | |
// declaro meu vetor com maxn posições também global para evitar erros no programa | |
int v[maxn]; | |
int main() | |
{ | |
int n, q, x, y; // declaro minhas outras variáveis | |
cin >> n >> q; // leio N e Q | |
for(int i = 1 ; i <= n ; i++) | |
{ | |
cin >> v[i]; // leio a sequência, salvando no meu vetor | |
} | |
for(int i = 0 ; i > q ; i++) | |
{ | |
cin >> x >> y; // leio as posições da sequência que devemos imprimir a soma | |
cout << v[x] + v[y] << "\n"; | |
} | |
return 0; | |
} |
Problemas para praticar: