Mudanças entre as edições de "Vetores"

 
 
(15 revisões intermediárias pelo mesmo usuário não estão sendo mostradas)
Linha 1: Linha 1:
#REDIRECIONAMENTO [[Estruturas de Repetição]]
+
=== 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 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


Quer mais?