Vetores: mudanças entre as edições
De Wikiunicentro
Sem resumo de edição |
|||
(7 revisões intermediárias pelo mesmo usuário não estão sendo mostradas) | |||
Linha 4: | Linha 4: | ||
Sintaxe: | Sintaxe: | ||
<pre> | <pre> | ||
Pseudocódigo | Pascal | Linguagem C | Pseudocódigo | Pascal | Linguagem C ou C++ | ||
| | | | | | ||
reais: conjunto[50] de real; | reais: array[1..50] of real; | float reais[50]; | reais: conjunto[50] de real; | reais: array[1..50] of real; | float reais[50]; | ||
Linha 16: | Linha 16: | ||
char '''alfabeto''': conjunto[26]; | char '''alfabeto''': conjunto[26]; | ||
<pre> | <pre> | ||
Pseudocódigo | Pascal | Linguagem C | Pseudocódigo | Pascal | Linguagem C ou C++ | ||
| | | | | | ||
alfabeto[0] = 'a'; | alfabeto[0] := 'a'; | alfabeto[0] | alfabeto[0] = 'a'; | alfabeto[0] := 'a'; | alfabeto[0] = 'a'; | ||
alfabeto[1] = 'b'; | alfabeto[1] := 'b'; | alfabeto[1] | alfabeto[1] = 'b'; | alfabeto[1] := 'b'; | alfabeto[1] = 'b'; | ||
alfabeto[2] = 'c'; | alfabeto[2] := 'c'; | alfabeto[2] | alfabeto[2] = 'c'; | alfabeto[2] := 'c'; | alfabeto[2] = 'c'; | ||
[...] | [...] | [...] | [...] | [...] | [...] | ||
alfabeto[23] = 'x'; | alfabeto[23] := 'x'; | alfabeto[23] | alfabeto[23] = 'x'; | alfabeto[23] := 'x'; | alfabeto[23] = 'x'; | ||
alfabeto[24] = 'y'; | alfabeto[24] := 'y'; | alfabeto[24] | alfabeto[24] = 'y'; | alfabeto[24] := 'y'; | alfabeto[24] = 'y'; | ||
alfabeto[25] = 'z'; | alfabeto[25] := 'z'; | alfabeto[25] | alfabeto[25] = 'z'; | alfabeto[25] := 'z'; | alfabeto[25] = 'z'; | ||
</pre> | </pre> | ||
'''Observe que, apesar do vetor possuir 26 espaços, contamos até o 25. Isso se deve ao fato da maioria das linguagens de programação começarem como o primeiro índice em 0 e não em 1, então um vetor com 5 elementos iria o indice 0 ao 4.''' | '''Observe que, apesar do vetor possuir 26 espaços, contamos até o 25. Isso se deve ao fato da maioria das linguagens de programação começarem como o primeiro índice em 0 e não em 1, então um vetor com 5 elementos iria o indice 0 ao 4.''' | ||
=== Exemplo em C++ === | |||
==== [https://olimpiada.ic.unicamp.br/pratique/p2/2017/f1/botas/ Botas Trocadas] ==== | |||
<pre> | |||
#include <iostream> | |||
using namespace std; | |||
int main(){ | |||
int tamanho = 0; | |||
cin >> tamanho; | |||
int numeroBota[tamanho]; | |||
char peBota[tamanho]; | |||
for(int i = 0; i < tamanho; i++){ | |||
cin >> numeroBota[i]; | |||
cin >> peBota[i]; | |||
} | |||
int pares = 0; | |||
for(int i = 0; i < tamanho; i++){ | |||
if(numeroBota[i] > 0){ | |||
for(int j = i+1; j<tamanho;j++){ | |||
if(numeroBota[i] == numeroBota[j] && peBota[i] != peBota[j]){ | |||
pares++; | |||
numeroBota[i] = -1; | |||
numeroBota[j] = -1; | |||
peBota[i] = ''; | |||
peBota[j] = ''; | |||
} | |||
} | |||
} | |||
} | |||
cout << pares << endl; | |||
return 0; | |||
} | |||
</pre> | |||
=== Problemas === | |||
* [https://olimpiada.ic.unicamp.br/pratique/p2/2017/f1/botas/ Botas trocadas] | |||
* [https://www.urionlinejudge.com.br/judge/pt/problems/view/1171 Frequência de números - 1171] | |||
* [https://www.urionlinejudge.com.br/judge/pt/problems/view/1172 Substituição em Vetor I - 1172] | |||
* [https://www.urionlinejudge.com.br/judge/pt/problems/view/1173 Preenchimento de Vetor I - 1173] | |||
* [https://www.urionlinejudge.com.br/judge/pt/problems/view/1175 Troca em Vetor I - 1175] | |||
Quer mais? | |||
* [https://www.urionlinejudge.com.br/judge/pt/problems/view/1176 Fibonacci em Vetor - 1176] | |||
* [https://www.urionlinejudge.com.br/judge/pt/problems/view/1178 Preenchimento de Vetor III - 1178] | |||
* [https://www.urionlinejudge.com.br/judge/pt/problems/view/1245 Botas Perdidas - 1245] | |||
* [https://www.urionlinejudge.com.br/judge/pt/problems/view/2449 Fechadura - 2449] |
Edição atual tal como às 22h42min de 21 de junho de 2020
Vetores
Vetor (array uni-dimensional) é uma estrutura simples que armazena vários valores do mesmo tipo em um espaço de memória. Assista a videoaula sobre este tipo de estrutura aqui.
Sintaxe:
Pseudocódigo | Pascal | Linguagem C ou C++ | | reais: conjunto[50] de real; | reais: array[1..50] of real; | float reais[50]; inteiros: conjunto[50] de inteiro; | inteiros: array[1..50] de integer; | int inteiros[50]; letras: conjunto[50] de Caractere; | letras: conjunto[1..50] de Char; | char letras[50];
Exemplo:
Preencha uma array com o alfabeto.
char alfabeto: conjunto[26];
Pseudocódigo | Pascal | Linguagem C ou C++ | | alfabeto[0] = 'a'; | alfabeto[0] := 'a'; | alfabeto[0] = 'a'; alfabeto[1] = 'b'; | alfabeto[1] := 'b'; | alfabeto[1] = 'b'; alfabeto[2] = 'c'; | alfabeto[2] := 'c'; | alfabeto[2] = 'c'; [...] | [...] | [...] alfabeto[23] = 'x'; | alfabeto[23] := 'x'; | alfabeto[23] = 'x'; alfabeto[24] = 'y'; | alfabeto[24] := 'y'; | alfabeto[24] = 'y'; alfabeto[25] = 'z'; | alfabeto[25] := 'z'; | alfabeto[25] = 'z';
Observe que, apesar do vetor possuir 26 espaços, contamos até o 25. Isso se deve ao fato da maioria das linguagens de programação começarem como o primeiro índice em 0 e não em 1, então um vetor com 5 elementos iria o indice 0 ao 4.
Exemplo em C++
Botas Trocadas
#include <iostream> using namespace std; int main(){ int tamanho = 0; cin >> tamanho; int numeroBota[tamanho]; char peBota[tamanho]; for(int i = 0; i < tamanho; i++){ cin >> numeroBota[i]; cin >> peBota[i]; } int pares = 0; for(int i = 0; i < tamanho; i++){ if(numeroBota[i] > 0){ for(int j = i+1; j<tamanho;j++){ if(numeroBota[i] == numeroBota[j] && peBota[i] != peBota[j]){ pares++; numeroBota[i] = -1; numeroBota[j] = -1; peBota[i] = ''; peBota[j] = ''; } } } } cout << pares << endl; return 0; }
Problemas
- Botas trocadas
- Frequência de números - 1171
- Substituição em Vetor I - 1172
- Preenchimento de Vetor I - 1173
- Troca em Vetor I - 1175
Quer mais?