Vetores: mudanças entre as edições
De Wikiunicentro
Maprestes moveu a página Wiki Unicentro:Treinamento em Lógica e Programação de Computadores no Ensino Técnico para Estruturas de Repetição |
Sem resumo de edição |
||
(15 revisões intermediárias pelo mesmo usuário não estão sendo mostradas) | |||
Linha 1: | Linha 1: | ||
# | === 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 [https://www.youtube.com/watch?v=B6MUlVNzWQQ&feature=youtu.be aqui]. | |||
Sintaxe: | |||
<pre> | |||
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]; | |||
</pre> | |||
Exemplo:<br> | |||
Preencha uma array com o alfabeto.<br> | |||
char '''alfabeto''': conjunto[26]; | |||
<pre> | |||
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'; | |||
</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.''' | |||
=== 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?