SlideShare uma empresa Scribd logo
1 de 13
ANHANGUERA – 2015.2
ESTRUTURA DE DADOS
EXERCÍCIOS 01 – PONTEIROS, MATRIZES, LISTAS E ALOCAÇÃO
DINÂMICA
Prof. Thomás da Costa
thomascosta@aedu.com
ESTRUTURA DE DADOS – Prof. Thomás da Costa
PONTEIROS, MATRIZES, LISTAS E
ALOCAÇÃO DINÂMICA
Exercícios
Digite os códigos fontes a seguir no Dev-C++ e identifique a funcionalidade dos
programas.
ESTRUTURA DE DADOS – Prof. Thomás da Costa
#include <iostream>
using namespace std;
int main()
{
int *ptr;
int valor;
valor = 1500;
ptr = &valor;
cout << ptr << endl;
cout << *ptr << endl;
}
ESTRUTURA DE DADOS – Prof. Thomás da Costa
#include <iostream>
using namespace std;
int main()
{
int *ptr;
int valor;
int total;
valor = 1600;
ptr = &valor;
total = *ptr;
cout << *ptr << endl;
cout << total << endl;
}
ESTRUTURA DE DADOS – Prof. Thomás da Costa
#include <iostream>
using namespace std;
int main()
{
int *ptr_inteiro;
double valor_1;
double valor_2;
valor_1 = 345.76;
ptr_inteiro = (int *)&valor_1;
valor_2 = *ptr_inteiro;
cout << valor_1 << endl;
cout << *ptr_inteiro << endl;
cout << valor_2 << endl;
}
ESTRUTURA DE DADOS – Prof. Thomás da Costa
#include <iostream>
using namespace std;
int main()
{
int *ptr;
int x;
ptr = &x;
*ptr = 999;
cout << &x << endl;
cout << ptr << endl;
cout << *ptr << endl;
}
ESTRUTURA DE DADOS – Prof. Thomás da Costa
#include <iostream>
using namespace std;
int main()
{
int valor[4][4] = {
{0, 0 ,0 ,0},
{0, 1 ,1 ,0},
{0, 1 ,1 ,0},
{0, 0 ,0 ,0}
};
valor[0][2] = 22;
for (int i=0;i<=3;i++)
{
for (int j=0;j<=3;j++)
{
cout << valor[i][j];
}
cout << endl;
}
}
ESTRUTURA DE DADOS – Prof. Thomás da Costa
LISTA – PARTE 1
#include <iostream>
#include <strings.h>
#include <conio.h>
#include <limits>
using namespace std;
struct alunos
{
char nome[100];
int idade;
alunos *proximo;
} *lista_alunos;
void iniciar_lista();
void inserir_aluno();
void listar_alunos();
void menu();
void limpar_teclado();
ESTRUTURA DE DADOS – Prof. Thomás da Costa
LISTA – PARTE 2
int main()
{
int opcao = -1;
iniciar_lista();
while (opcao != 0)
{
menu();
cin >> opcao;
if (opcao == 1)
inserir_aluno();
else if (opcao == 2)
listar_alunos();
}
delete lista_alunos;
}
ESTRUTURA DE DADOS – Prof. Thomás da Costa
LISTA – PARTE 3
void iniciar_lista()
{
lista_alunos = NULL;
}
void inserir_aluno()
{
limpar_teclado();
alunos *novo_aluno = new alunos;
cout << "Digite o nome do aluno:" << endl;
gets(novo_aluno->nome);
cout << "Digite a idade do aluno:" << endl;
cin >> novo_aluno->idade;
novo_aluno->proximo = NULL;
if (lista_alunos == NULL)
lista_alunos = novo_aluno;
else
{
alunos *p;
p = lista_alunos;
while (p->proximo != NULL)
p = p->proximo;
p->proximo = novo_aluno;
}
}
ESTRUTURA DE DADOS – Prof. Thomás da Costa
LISTA – PARTE 4
void listar_alunos()
{
alunos *p;
p = lista_alunos;
if (p->proximo == NULL)
{
cout << "------------------------------------" << endl;
cout << "Nome do Aluno:" << p->nome << endl;
cout << "Idade do Aluno:" << p->idade << endl;
cout << "------------------------------------" << endl;
}
else
{
while (p != NULL)
{
cout << "------------------------------------" << endl;
cout << "Nome do Aluno:" << p->nome << endl;
cout << "Idade do Aluno:" << p->idade << endl;
cout << "------------------------------------" << endl;
p = p->proximo;
}
}
getch();
}
ESTRUTURA DE DADOS – Prof. Thomás da Costa
LISTA – PARTE 5
void menu()
{
system("cls");
cout << "1 - INSERIR" << endl;
cout << "2 - LISTAR" << endl;
cout << "0 - SAIR" << endl;
}
void limpar_teclado()
{
cin.clear();
cin.ignore(numeric_limits<streamsize>::max(), 'n');
}
Obrigado !!!
ANHANGUERA – 2015.2

Mais conteúdo relacionado

Mais de thomasdacosta

Organização de Computadores - Aula 01
Organização de Computadores - Aula 01Organização de Computadores - Aula 01
Organização de Computadores - Aula 01thomasdacosta
 
Redes de Computadores - Exercícios 06
Redes de Computadores - Exercícios 06Redes de Computadores - Exercícios 06
Redes de Computadores - Exercícios 06thomasdacosta
 
Redes de Computadores - Exercícios 05
Redes de Computadores - Exercícios 05Redes de Computadores - Exercícios 05
Redes de Computadores - Exercícios 05thomasdacosta
 
Programação Concorrente - Curso Completo
Programação Concorrente - Curso CompletoProgramação Concorrente - Curso Completo
Programação Concorrente - Curso Completothomasdacosta
 
Programação Concorrente - Aula 07
Programação Concorrente - Aula 07Programação Concorrente - Aula 07
Programação Concorrente - Aula 07thomasdacosta
 
Programação Concorrente - Aula 06
Programação Concorrente - Aula 06Programação Concorrente - Aula 06
Programação Concorrente - Aula 06thomasdacosta
 
Redes de Computadores - Exercícios 04
Redes de Computadores - Exercícios 04Redes de Computadores - Exercícios 04
Redes de Computadores - Exercícios 04thomasdacosta
 
Redes de Computadores - Aula 05
Redes de Computadores - Aula 05Redes de Computadores - Aula 05
Redes de Computadores - Aula 05thomasdacosta
 
Programação Concorrente - Aula 05
Programação Concorrente - Aula 05Programação Concorrente - Aula 05
Programação Concorrente - Aula 05thomasdacosta
 
Linguagem de Programação Java
Linguagem de Programação JavaLinguagem de Programação Java
Linguagem de Programação Javathomasdacosta
 
Programação Concorrente - Aula 04
Programação Concorrente - Aula 04Programação Concorrente - Aula 04
Programação Concorrente - Aula 04thomasdacosta
 
Redes de Computadores - Exercícios 03
Redes de Computadores - Exercícios 03Redes de Computadores - Exercícios 03
Redes de Computadores - Exercícios 03thomasdacosta
 
Redes de Computadores - Aula 04
Redes de Computadores - Aula 04Redes de Computadores - Aula 04
Redes de Computadores - Aula 04thomasdacosta
 
Algoritmos e Estrutura de Dados - Aula 05
Algoritmos e Estrutura de Dados - Aula 05Algoritmos e Estrutura de Dados - Aula 05
Algoritmos e Estrutura de Dados - Aula 05thomasdacosta
 
Algoritmos e Estrutura de Dados - Aula 04
Algoritmos e Estrutura de Dados - Aula 04Algoritmos e Estrutura de Dados - Aula 04
Algoritmos e Estrutura de Dados - Aula 04thomasdacosta
 
Programação Concorrente - Aula 03
Programação Concorrente - Aula 03Programação Concorrente - Aula 03
Programação Concorrente - Aula 03thomasdacosta
 
Algoritmos e Estrutura de Dados - Aula 03
Algoritmos e Estrutura de Dados - Aula 03Algoritmos e Estrutura de Dados - Aula 03
Algoritmos e Estrutura de Dados - Aula 03thomasdacosta
 
Redes de Computadores - Aula 03
Redes de Computadores - Aula 03Redes de Computadores - Aula 03
Redes de Computadores - Aula 03thomasdacosta
 
Redes de Computadores - Aula 02
Redes de Computadores - Aula 02Redes de Computadores - Aula 02
Redes de Computadores - Aula 02thomasdacosta
 
Programação Concorrente - LAB 01
Programação Concorrente - LAB 01Programação Concorrente - LAB 01
Programação Concorrente - LAB 01thomasdacosta
 

Mais de thomasdacosta (20)

Organização de Computadores - Aula 01
Organização de Computadores - Aula 01Organização de Computadores - Aula 01
Organização de Computadores - Aula 01
 
Redes de Computadores - Exercícios 06
Redes de Computadores - Exercícios 06Redes de Computadores - Exercícios 06
Redes de Computadores - Exercícios 06
 
Redes de Computadores - Exercícios 05
Redes de Computadores - Exercícios 05Redes de Computadores - Exercícios 05
Redes de Computadores - Exercícios 05
 
Programação Concorrente - Curso Completo
Programação Concorrente - Curso CompletoProgramação Concorrente - Curso Completo
Programação Concorrente - Curso Completo
 
Programação Concorrente - Aula 07
Programação Concorrente - Aula 07Programação Concorrente - Aula 07
Programação Concorrente - Aula 07
 
Programação Concorrente - Aula 06
Programação Concorrente - Aula 06Programação Concorrente - Aula 06
Programação Concorrente - Aula 06
 
Redes de Computadores - Exercícios 04
Redes de Computadores - Exercícios 04Redes de Computadores - Exercícios 04
Redes de Computadores - Exercícios 04
 
Redes de Computadores - Aula 05
Redes de Computadores - Aula 05Redes de Computadores - Aula 05
Redes de Computadores - Aula 05
 
Programação Concorrente - Aula 05
Programação Concorrente - Aula 05Programação Concorrente - Aula 05
Programação Concorrente - Aula 05
 
Linguagem de Programação Java
Linguagem de Programação JavaLinguagem de Programação Java
Linguagem de Programação Java
 
Programação Concorrente - Aula 04
Programação Concorrente - Aula 04Programação Concorrente - Aula 04
Programação Concorrente - Aula 04
 
Redes de Computadores - Exercícios 03
Redes de Computadores - Exercícios 03Redes de Computadores - Exercícios 03
Redes de Computadores - Exercícios 03
 
Redes de Computadores - Aula 04
Redes de Computadores - Aula 04Redes de Computadores - Aula 04
Redes de Computadores - Aula 04
 
Algoritmos e Estrutura de Dados - Aula 05
Algoritmos e Estrutura de Dados - Aula 05Algoritmos e Estrutura de Dados - Aula 05
Algoritmos e Estrutura de Dados - Aula 05
 
Algoritmos e Estrutura de Dados - Aula 04
Algoritmos e Estrutura de Dados - Aula 04Algoritmos e Estrutura de Dados - Aula 04
Algoritmos e Estrutura de Dados - Aula 04
 
Programação Concorrente - Aula 03
Programação Concorrente - Aula 03Programação Concorrente - Aula 03
Programação Concorrente - Aula 03
 
Algoritmos e Estrutura de Dados - Aula 03
Algoritmos e Estrutura de Dados - Aula 03Algoritmos e Estrutura de Dados - Aula 03
Algoritmos e Estrutura de Dados - Aula 03
 
Redes de Computadores - Aula 03
Redes de Computadores - Aula 03Redes de Computadores - Aula 03
Redes de Computadores - Aula 03
 
Redes de Computadores - Aula 02
Redes de Computadores - Aula 02Redes de Computadores - Aula 02
Redes de Computadores - Aula 02
 
Programação Concorrente - LAB 01
Programação Concorrente - LAB 01Programação Concorrente - LAB 01
Programação Concorrente - LAB 01
 

Estrutura de Dados - Exercícios 01

  • 1. ANHANGUERA – 2015.2 ESTRUTURA DE DADOS EXERCÍCIOS 01 – PONTEIROS, MATRIZES, LISTAS E ALOCAÇÃO DINÂMICA Prof. Thomás da Costa thomascosta@aedu.com
  • 2. ESTRUTURA DE DADOS – Prof. Thomás da Costa PONTEIROS, MATRIZES, LISTAS E ALOCAÇÃO DINÂMICA Exercícios Digite os códigos fontes a seguir no Dev-C++ e identifique a funcionalidade dos programas.
  • 3. ESTRUTURA DE DADOS – Prof. Thomás da Costa #include <iostream> using namespace std; int main() { int *ptr; int valor; valor = 1500; ptr = &valor; cout << ptr << endl; cout << *ptr << endl; }
  • 4. ESTRUTURA DE DADOS – Prof. Thomás da Costa #include <iostream> using namespace std; int main() { int *ptr; int valor; int total; valor = 1600; ptr = &valor; total = *ptr; cout << *ptr << endl; cout << total << endl; }
  • 5. ESTRUTURA DE DADOS – Prof. Thomás da Costa #include <iostream> using namespace std; int main() { int *ptr_inteiro; double valor_1; double valor_2; valor_1 = 345.76; ptr_inteiro = (int *)&valor_1; valor_2 = *ptr_inteiro; cout << valor_1 << endl; cout << *ptr_inteiro << endl; cout << valor_2 << endl; }
  • 6. ESTRUTURA DE DADOS – Prof. Thomás da Costa #include <iostream> using namespace std; int main() { int *ptr; int x; ptr = &x; *ptr = 999; cout << &x << endl; cout << ptr << endl; cout << *ptr << endl; }
  • 7. ESTRUTURA DE DADOS – Prof. Thomás da Costa #include <iostream> using namespace std; int main() { int valor[4][4] = { {0, 0 ,0 ,0}, {0, 1 ,1 ,0}, {0, 1 ,1 ,0}, {0, 0 ,0 ,0} }; valor[0][2] = 22; for (int i=0;i<=3;i++) { for (int j=0;j<=3;j++) { cout << valor[i][j]; } cout << endl; } }
  • 8. ESTRUTURA DE DADOS – Prof. Thomás da Costa LISTA – PARTE 1 #include <iostream> #include <strings.h> #include <conio.h> #include <limits> using namespace std; struct alunos { char nome[100]; int idade; alunos *proximo; } *lista_alunos; void iniciar_lista(); void inserir_aluno(); void listar_alunos(); void menu(); void limpar_teclado();
  • 9. ESTRUTURA DE DADOS – Prof. Thomás da Costa LISTA – PARTE 2 int main() { int opcao = -1; iniciar_lista(); while (opcao != 0) { menu(); cin >> opcao; if (opcao == 1) inserir_aluno(); else if (opcao == 2) listar_alunos(); } delete lista_alunos; }
  • 10. ESTRUTURA DE DADOS – Prof. Thomás da Costa LISTA – PARTE 3 void iniciar_lista() { lista_alunos = NULL; } void inserir_aluno() { limpar_teclado(); alunos *novo_aluno = new alunos; cout << "Digite o nome do aluno:" << endl; gets(novo_aluno->nome); cout << "Digite a idade do aluno:" << endl; cin >> novo_aluno->idade; novo_aluno->proximo = NULL; if (lista_alunos == NULL) lista_alunos = novo_aluno; else { alunos *p; p = lista_alunos; while (p->proximo != NULL) p = p->proximo; p->proximo = novo_aluno; } }
  • 11. ESTRUTURA DE DADOS – Prof. Thomás da Costa LISTA – PARTE 4 void listar_alunos() { alunos *p; p = lista_alunos; if (p->proximo == NULL) { cout << "------------------------------------" << endl; cout << "Nome do Aluno:" << p->nome << endl; cout << "Idade do Aluno:" << p->idade << endl; cout << "------------------------------------" << endl; } else { while (p != NULL) { cout << "------------------------------------" << endl; cout << "Nome do Aluno:" << p->nome << endl; cout << "Idade do Aluno:" << p->idade << endl; cout << "------------------------------------" << endl; p = p->proximo; } } getch(); }
  • 12. ESTRUTURA DE DADOS – Prof. Thomás da Costa LISTA – PARTE 5 void menu() { system("cls"); cout << "1 - INSERIR" << endl; cout << "2 - LISTAR" << endl; cout << "0 - SAIR" << endl; } void limpar_teclado() { cin.clear(); cin.ignore(numeric_limits<streamsize>::max(), 'n'); }