Buscar

Arquivoscpp

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 14 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 14 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 14 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

//declarando.cpp 
#include <iostream> 
using namespace std; 
int main() 
{ 
 float *ptr; 
 cout<<"\nVariavel ptr declarada "; 
 cout<<"\n\nAgora, precisa aprender a inicializa-la"; 
 cout<<"\n\n"; 
 system("pause"); 
} 
 
//declarando-inicializando.cpp 
#include <iostream> 
using namespace std; 
int main() 
{ 
 float a=8, *ptr=&a; 
 cout<<"\nconteudo do endereco apontado por ptr: "<<*ptr; 
 cout<<"\n\n"; 
 system("pause"); 
} 
 
//endereco.cpp 
 
#include <iostream> 
using namespace std; 
int main() 
{ 
 int a=13, j=23, *pa, *pj; 
 cout<<"\nEndereco de a: "<<&a; 
 cout<<"\nEndereco de j: "<<&j; 
 cout<<"\nEndereco de pa: "<<&pa; 
 cout<<"\nEndereco de pj: "<<&pj; 
 cout<<"\n\n"; 
 system("pause"); 
} 
 
 
//enderecoAtribuindo.cpp 
#include <iostream> 
#include <cstring> 
using namespace std; 
 
struct CADASTRO 
{ 
 char nome[30]; 
 float nota; 
 
}; 
 
void exibe(CADASTRO *m); 
int main() 
{ 
 CADASTRO aluno,*p; 
 cout<<"\nNome do aluno: "; cin.getline(aluno.nome,30); 
 cout<<"\nNota: "; cin>>aluno.nota; 
 p=&aluno; //aponta para a estrutura 
 exibe(p); 
 cout<<"\n\n"; system("pause"); 
 } 
 
void exibe(CADASTRO *m) 
{ 
 int c; 
 for(c=0;c<strlen(m->nome);c++) 
 m->nome[c]=toupper(m->nome[c]); 
 cout<<"\nDados do Aluno\n"; 
 cout<<"\n\nNOME: "<<m->nome;//usei as duas formas para vocês verem 
 cout<<"\n\nNOTA: "<<(*m).nota; 
} 
 
 
//Alocação Dinâmica admEstrutura.cpp 
 
include <iostream> 
#include <cstring> 
using namespace std; 
 
struct dados 
{ 
 int matric; 
 float sal; 
}; 
 
int main() 
{ 
 int x,nfunc; 
 cout<<"\nQuantos funcionarios? "; 
 cin>>nfunc; 
 dados *ptr= new dados[nfunc]; 
 
 for(x=0; x<nfunc; x++) 
 { 
 cout<<"\nDigite matricula do funcionario: "; 
 cin>>ptr[x].matric; 
 cout<<"\nDigite salario do funcionario: "; 
 cin>>ptr[x].sal; 
 
 } 
 system("cls"); 
 cout<<"\nMatric\tSalario\n"; 
 for(x=0; x<nfunc; x++) 
 cout<<"\n"<<(ptr+x)->matric<<"\t"<<(ptr+x)->sal; 
 cout<<"\n\n"; system("pause"); 
 } 
 
//Alocação Dinâmica admBasico.cpp 
#include <iostream> 
using namespace std; 
int main() 
{ 
 int *pt = new int(1024); 
 cout<<"\nValor que foi inicializado: "<<*pt<<"\n\n"; 
 system("pause"); 
} 
 
//Alocação Dinâmica menuPonteiro.cpp 
//Feito sem funções para melhor entendomento 
#include <iostream> 
#include <iomanip> 
using namespace std; 
 
int main () 
{ 
 int op, n, x, f1,f2,f3; 
 f1=f2=f3=0; 
 float *alunos, soma=0, media; 
 do 
 { 
 system("cls"); 
 system("color fc"); 
 cout<<"\n\n~ ~ ~ Alocacao Dinamica ~ ~ ~"; 
 cout<<"\n~ ~"; 
 cout<<"\n~ 1- insere numero de alunos ~"; 
 cout<<"\n~ 2- Insere notas ~"; 
 cout<<"\n~ 3- Calcula media da turma ~"; 
 cout<<"\n~ 4- Exibe ~"; 
 cout<<"\n~ 5-Sai ~"; 
 cout<<"\n~ Opcao: ~"; 
 cout<<"\n~ ~"; 
 cout<<"\n~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~\n"; 
 cin>>op; 
 system("cls"); 
 system("color 0e"); 
 switch(op) 
 { 
 case 1:cout<<"\nDigite numero de alunos: "; 
 
 cin>>n; 
 alunos=new float[n]; 
 if(alunos==0) 
 { 
 cout<<"\nNao foi possivel fazer Alocacao\n"; 
 return 1; 
 } 
 f1=1; 
 break; 
 
 case 2:if(f1==1) 
 { 
 for(x=0; x<n; x++) 
 { 
 cout<<"\nDigite nota: "; 
 cin>>alunos[x]; 
 } 
 f2=1; 
 } 
 else cout<<"\nVoce nao determinou a quantidade\n"; 
 break; 
 
 case 3:if(f2==1) 
 { 
 for(soma=alunos[0], x=1; x<5; x++) 
 soma+=alunos[x]; 
 media=soma/n; 
 cout<<"\nMedia Calculada\n\n"; 
 f3=1; 
 } 
 else cout<<"\nVoce pulou alguma(s) etapa(s)\n"; 
 break; 
 
 case 4:if(f3==1) 
 { 
 cout<<"\nRelacao da Notas\n"; 
 for(x=0; x<n; x++) 
 cout<<"\n"<<setw(3)<<x+1<<" - "<<alunos[x]; 
 cout<<"\n\nMedia da Turma: "<<setprecision(4)<<media; 
 } 
 else cout<<"\nVoce pulou alguma(s) etapa(s)\n"; 
 break; 
 
 case 5:cout<<"\nFim da alocacao Dinamica"; 
 delete []alunos; alunos = 0; 
 break; 
 
 default:cout<<"\nOpcao Invalida\n"; 
 } 
 
 cout<<"\n\n"; 
 system("pause"); 
 } while(op !=5); 
 return 0; 
} 
 
 
 //Lista Encadeada - encadeadaInicio.cpp 
#include <iostream> 
#include <cstdlib> 
using namespace std; 
int main() 
{ 
 struct nodo 
 { 
 int num; 
 struct nodo* prox; 
 }; 
 
 //criando no 
 nodo* no1=new nodo; 
 //atribuindo valor ao elemento 
 no1->num=23; 
 // atribuindo 0 ou NULL ao campo proxima celula 
 no1->prox=NULL; 
 //exibindo 
 cout<<"\nValor do no1: "<<no1->num; 
 //liberando 
 delete no1; no1=0; 
 cout<<"\n\n"; 
 system("pause"); 
} 
 
 
 
//Lista Encadeada dois nós - criandoNo.cpp 
#include <iostream> 
#include <cstdlib> 
using namespace std; 
int main() 
{ 
 
 struct nodo 
 { 
 int num; 
 struct nodo* prox; 
 }; 
 
 nodo* lista=new nodo; //criando primeiro no 
 
 lista->num=23; 
 lista->prox=NULL; 
 
 lista->prox=new nodo; //criando segundo no 
 lista->prox->num=13; 
 lista->prox->prox=NULL; 
 //exibindo 
 cout<<"\nValor do primeiro no: "<<lista->num; 
 cout<<"\nValor do segundo no: "<<lista->prox->num; 
 cout<<"\n\nValor do endereco do primeiro no: "<<lista; 
 cout<<"\n\nValor do endereco do segundo no: "<<lista->prox; 
 //liberando 
 delete lista; 
 cout<<"\n\n\nValor do endereco do segundo no, mesmo depois de delete: 
"<<lista; 
 lista=0; 
 cout<<"\nValor do endereco do segundo no depois da atribuicao : 
"<<lista; 
 cout<<"\n\n"; 
 system("pause"); 
} 
 
//Lista Encadeada quatros nós - criandoNo_4.cpp 
#include <iostream> 
#include <cstdlib> 
using namespace std; 
int main() 
{ 
 
 struct nodo 
 { 
 int num; 
 struct nodo* prox; 
 }; 
 
 //primeiro nó 
 nodo* lista=new nodo; 
 lista->num=23; 
 lista->prox=NULL; 
 //segundo nó 
 lista->prox=new nodo; 
 lista->prox->num=13; 
 lista->prox->prox=NULL; 
 //terceiro nó 
 lista->prox->prox=new nodo; 
 lista->prox->prox->num=15; 
 lista->prox->prox->prox=NULL; 
 //quarto no 
 lista->prox->prox->prox=new nodo; 
 
 lista->prox->prox->prox->num=18; 
 lista->prox->prox->prox->prox=NULL; 
 cout<<"\nValor do primeiro no: "<<lista->num; 
 cout<<"\nValor do segundo no: "<<lista->prox->num; 
 cout<<"\nValor do terceiro no: "<<lista->prox->prox->num; 
 cout<<"\nValor do quarto no: "<<lista->prox->prox->prox->num; 
 cout<<"\n\nValor do endereco do primeiro no: "<<lista; 
 cout<<"\n\nValor do endereco do segundo no: "<<lista->prox; 
 cout<<"\n\nValor do endereco do terceiro no: "<<lista->prox->prox; 
 cout<<"\n\nValordo endereco do quarto no: "<<lista->prox->prox->prox; 
 //liberando 
 delete lista; 
 cout<<"\n\n\nValor do endereco do segundo no, mesmo depois de delete: 
"<<lista; 
 lista=0; 
 cout<<"\nValor do endereco do segundo no depois da atribuicao : 
"<<lista; 
 cout<<"\n\n"; 
 system("pause"); 
} 
 
 
 //Lista Encadeada - encadeadaInsereInicio.cpp 
#include <iostream> 
#include <cstdlib> 
using namespace std; 
int main() 
{ 
 struct nodo 
 { 
 int num; 
 struct nodo* prox; 
 }; 
 
 //criando no1 
 nodo* no1=new nodo; 
 no1->num=23; 
 no1->prox=NULL; 
 
 //criando no2 
 nodo* no2= new nodo; 
 no2->num = 13; 
 no2->prox = no1; 
 
 //exibindo 
 cout<<"\nValor do no1: "<<no1->num; 
 cout<<"\nValor do no2: "<<no2->num; 
 cout<<"\n\n\nEndereco de no1: "<<no1; 
 cout<<"\nEndereco de no2: "<<no2; 
 
 cout<<"\n\n\nEndereco apontado por no1: "<<no1->prox; 
 cout<<"\nEndereco apontado por no2: "<<no2->prox; 
 //liberando 
 delete no1; no1=0; delete no2; no2=0; 
 cout<<"\n\n"; 
 system("pause"); 
} 
 
 
//Lista Encadeada - encadeadaInsereFinal.cpp 
##include <iostream> 
#include <cstdlib> 
using namespace std; 
int main() 
{ 
 struct nodo 
 { 
 int num; 
 struct nodo* prox; 
 }; 
 
 //criando no1 
 nodo* no1=new nodo; 
 no1->num=23; 
 no1->prox=NULL; 
 
 //criando no2 
 nodo* no2= new nodo; 
 no1->prox=no2; 
 no2->num = 13; 
 no2->prox = NULL; 
 
 //exibindo 
 cout<<"\nValor do no1: "<<no1->num; 
 cout<<"\nValor do no2: "<<no2->num; 
 cout<<"\n\n\nEndereco de no1: "<<no1; 
 cout<<"\nEndereco de no2: "<<no2; 
 cout<<"\n\n\nEndereco apontado por no1: "<<no1->prox; 
 cout<<"\nEndereco apontado por no2: "<<no2->prox; 
 
 //liberando 
 delete no1; no1=0; delete no2; no2=0; 
 cout<<"\n\n"; 
 system("pause"); 
} 
 
 
 
 
 
 
 
 
//Lista Encadeada - criandoLista.cpp 
#include <iostream> 
using namespace std; 
struct nodo 
{ 
 int num; 
 struct nodo* prox; 
}; 
 
int main() 
{ 
 nodo *temp, *ini, *lista=NULL; 
 int c; 
 
 //primeiro nó 
 temp = new nodo; 
 temp->num = 23; 
 temp->prox=lista ; 
 lista= temp; 
 ini=lista; //guarda o início 
 
 //segundo nó 
 temp = new nodo; 
 temp->num = 13; 
 temp->prox=lista ; 
 lista= temp; 
 ini=lista; //guarda o início 
 
 //terceiro nó 
 temp = new nodo; 
 temp->num = 15; 
 temp->prox=lista ; 
 lista= temp; 
 ini=lista;//guarda o início 
 
 //quarto nó 
 temp = new nodo; 
 temp->num = 18; 
 temp->prox=lista ; 
 lista= temp; 
 ini=lista;//guarda o início 
 
 
 //listando 
 c=1; 
 cout<<"\n\nAntes da Remocao\n"; 
 
 while(lista!=NULL) 
 { 
 cout<<"\nValor do "<<c<<"o no: "<<lista->num; 
 lista=lista->prox; 
 c++; 
 } 
 
 //retorna ao início 
 lista=ini; 
 
 //removendo primeiro no 
 nodo *aux; 
 aux = lista; 
 lista = lista->prox; 
 delete aux; 
 
 cout<<"\n\nDepois da Remocao\n"; 
 c=1; 
 while(lista) 
 { 
 cout<<"\nValor do "<<c<<"o no: "<<lista->num; 
 lista=lista->prox; 
 c++; 
 } 
 
 
 delete lista; lista=0; 
 cout<<"\n\n"; 
 system("pause"); 
} 
 
 
//Lista Encadeada - criandoListaListando.cpp 
#include <iostream> 
using namespace std; 
struct nodo 
{ 
 int num; 
 struct nodo* prox; 
}; 
 
int main() 
{ 
 nodo *temp, *lista=NULL; 
 int c; 
 
 //primeiro nó 
 temp = new nodo; 
 temp->num = 23; 
 
 temp->prox=lista ; 
 lista= temp; 
 
 //segundo nó 
 temp = new nodo; 
 temp->num = 13; 
 temp->prox=lista ; 
 lista= temp; 
 
 //terceiro nó 
 temp = new nodo; 
 temp->num = 15; 
 temp->prox=lista ; 
 lista= temp; 
 
 //quarto nó 
 temp = new nodo; 
 temp->num = 18; 
 temp->prox=lista ; 
 lista= temp; 
 
 //listando 
 c=1; 
 cout<<"\n\nUsando uma estrutura de Repeticao\n"; 
 while(lista) 
 { 
 cout<<"\nValor do "<<c<<"o no: "<<lista->num; 
 lista=lista->prox; 
 c++; 
 } 
 
 //liberando 
 delete lista; lista=0; 
 cout<<"\n\n"; 
 system("pause"); 
} 
 
//Lista Encadeada - criandoListaRemovendo.cpp 
#include <iostream> 
using namespace std; 
struct nodo 
{ 
 int num; 
 struct nodo* prox; 
}; 
 
int main() 
{ 
 nodo *temp, *ini, *lista=NULL; 
 
 int c; 
 
 //primeiro nó 
 temp = new nodo; 
 temp->num = 23; 
 temp->prox=lista ; 
 lista= temp; 
 ini=lista; //guarda o início 
 
 //segundo nó 
 temp = new nodo; 
 temp->num = 13; 
 temp->prox=lista ; 
 lista= temp; 
 ini=lista; //guarda o início 
 
 //terceiro nó 
 temp = new nodo; 
 temp->num = 15; 
 temp->prox=lista ; 
 lista= temp; 
 ini=lista;//guarda o início 
 
 //quarto nó 
 temp = new nodo; 
 temp->num = 18; 
 temp->prox=lista ; 
 lista= temp; 
 ini=lista;//guarda o início 
 
 
 //listando 
 c=1; 
 cout<<"\n\nAntes da Remocao\n"; 
 while(lista!=NULL) 
 { 
 cout<<"\nValor do "<<c<<"o no: "<<lista->num; 
 lista=lista->prox; 
 c++; 
 } 
 
 //retorna ao início 
 lista=ini; 
 
 //removendo primeiro no 
 nodo *aux; 
 aux = lista; 
 lista = lista->prox; 
 delete aux; 
 
 
 cout<<"\n\nDepois da Remocao\n"; 
 c=1; 
 while(lista) 
 { 
 cout<<"\nValor do "<<c<<"o no: "<<lista->num; 
 lista=lista->prox; 
 c++; 
 } 
 
 
 delete lista; lista=0; 
 cout<<"\n\n"; 
 system("pause"); 
} 
 
 
//Solução do exercício – criandoListaFuncao.cpp 
#include <iostream> 
#include <cstdlib> 
using namespace std; 
struct nodo 
{ 
 int num; 
 struct nodo *prox; 
}; 
 
nodo *insereFrente(nodo *ptr, int valor); 
 
int main() 
{ 
 int c; 
 nodo *lista=NULL; 
 
 //primeiro nó 
 lista = insereFrente(lista, 23); 
 
 //segundo nó 
 lista = insereFrente(lista, 13); 
 
 //terceiro nó 
 lista = insereFrente(lista, 15); 
 
 //quarto no 
 lista = insereFrente(lista, 18); 
 
 
 //listando 
 c=1; 
 
 cout<<"\n\nUsando uma estrutura de Repeticao\n"; 
 while(lista) 
 { 
 cout<<"\nValor do "<<c<<"o no: "<<lista->num;; 
 lista=lista->prox; 
 c++; 
 } 
 
 //liberando 
 delete lista; lista=0; 
 cout<<"\n\n"; 
 system("pause"); 
} 
 
nodo* insereFrente(nodo *ptr, int valor) 
{ 
 nodo *temp = new nodo; 
 temp->num = valor; 
 temp->prox = ptr; 
 return temp; 
}

Outros materiais