Mudanças entre as edições de "Vetores"
(→Vetores) |
|||
(5 revisões intermediárias pelo mesmo usuário não estão sendo mostradas) | |||
Linha 18: | Linha 18: | ||
Pseudocódigo | Pascal | Linguagem C ou 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 === | === Problemas === | ||
* [https://olimpiada.ic.unicamp.br/pratique/p2/2017/f1/botas/ Botas trocadas] | * [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 19h42min 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?