Baixe o app para aproveitar ainda mais
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; }
Compartilhar