#include<stdio.h>#include<math.h>struct Ponto{ int x,y;};void main(){ struct Ponto p[2]; float dist; printf("Informe a posi%c%co do primeiro ponto (x,y): ",135,198); scanf("%d%d",&p[0].x,&p[0].y); printf("Informe a posi%c%co do segundo ponto (x,y): ",135,198); scanf("%d%d",&p[1].x,&p[1].y); dist=sqrt(pow((float)(p[1].y-(float)p[0].y),2)+pow((float)(p[1].x-(float)p[0].x),2)); printf("A dist%cncia entre os pontos %c: %.2f\n\n",131,130,dist);} #include <stdio.h>#include<stdlib.h>struct registro{ long int matricula; char nome[81]; struct registro *next;};struct registro *raiz;void adiciona(){ struct registro *novoreg=(struct registro*)malloc(sizeof(struct registro)); if(novoreg==NULL){printf("Mem%cria insuficiente!",162); exit(1);} printf("\nInforme a matr%ccula do funcion%crio: ",161,160); scanf("%d",&novoreg->matricula); getchar(); printf("Informe o nome: "); gets(novoreg->nome); novoreg->next=raiz->next; raiz->next=novoreg;}void exclui(){ struct registro *reg_atual, *reg_ant; long int matric; reg_atual=raiz->next; reg_ant = raiz; printf("\nInforme a matr%ccula do funcion%crio que ser%c exclu%cdo: ",161,160,160,161); scanf("%d",&matric); while(reg_atual!=NULL) { if(matric==reg_atual->matricula) { reg_ant->next=reg_atual->next; printf("\nMatr%ccula exclu%cda com sucesso!",161,161); free(reg_atual); return; } reg_ant = reg_atual; reg_atual=reg_atual->next; } printf("Matr%ccula n%co encontrada!\n",161,198);}void imp_lista(){ struct registro *lista; lista=raiz->next; if(lista==NULL) { printf ("\n\n\a\a\a\a\tLista Vazia\n"); system ("pause"); exit(1); } else { while(lista!=NULL) { printf("\nMatr%ccula: %d",161,lista->matricula); printf("\nFuncion%crio: %s",160,lista->nome); lista=lista->next; } }}int main (){ int op=3; raiz=(struct registro *)malloc(sizeof (struct registro)); if(raiz==NULL) exit(1); raiz->next=NULL; do { printf("Digite 1 para adicionar um novo registro, 2 para excluir, 3 para listar e 4 para sair: "); scanf("%d",&op); if(op==1)adiciona(); else if(op==2)exclui(); else if(op==3)imp_lista(); else if(op==4)exit(1); printf("\n"); }while(op!=4); free(raiz); return 0;} #include <stdio.h>#include <stdlib.h>void entrar(int *fila,int v,int tam,int *ini,int *fim){ int prov = (*fim+1) % (tam); if(prov != *ini) { *fim=prov; fila[*fim]=v; if(*ini==-1) *ini=0; } else printf("\nFila cheia!\n");}int sair(int *fila,int tam, int *ini,int *fim) { int v; if( *ini != -1 ) { v=fila[*ini]; if(*ini==*fim) { fila[*ini]=NULL; *ini=*fim=-1; } else { fila[*ini]=NULL; *ini = (*ini+1) % tam; } return v; } else { printf("\nFila vazia!\n"); return -1; }}int main() { char op; int ok, tam, *fila, elemento,ini=-1,fim=-1,i; printf("Informe o tamanho desejado para a fila: "); scanf("%d",&tam); if((fila=(int*)malloc(tam*sizeof(int)))==NULL) exit(1); do{ printf("\n(e)ntrar (s)air (f)echar: "); getchar(); scanf("%c",&op); switch (op){ case 'e': printf("\nInforme o elemento a ser inserido: "); scanf("%d",&elemento); entrar(fila,elemento,tam,&ini,&fim); break; case 's': ok=sair(fila,tam,&ini,&fim); printf("\nO elemento retirado foi: %d.\n",ok); break; } for(i=0;i<tam;i++) printf("%d\t",fila[i]); printf("\n"); }while(op!='f'); return 0;} #include <stdio.h>#include <stdlib.h>int empilhar(int *pilha, int elemento, int tam, int *pont){ if(tam==*pont) { printf("\nPilha cheia!\n"); return 0; } else{ pilha[*pont]=elemento; *pont=*pont+1; return 1; }}int desempilhar(int *pilha, int tam, int *pont){ if(*pont==0) { printf("\nPilha ja vazia!\n"); return 0; } else{ *pont=*pont-1; pilha[*pont]=NULL; return 1; }}int main() { char op; int ok, tam, *pilha, elemento,pont=0,i; printf("Informe o tamanho desejado para a pilha: "); scanf("%d",&tam); if((pilha=(int*)malloc(tam*sizeof(int)))==NULL) exit(1); do{ printf("\n(e)mpilhar (d)esempilhar (s)air: "); getchar(); scanf("%c",&op); switch (op){ case 'e': printf("\nInforme o elemento a ser inserido: "); scanf("%d",&elemento); ok=empilhar(pilha,elemento,tam,&pont); if(ok)printf("\nEmpilhamento feito com sucesso!\n"); else printf("\nNao foi possivel inserir o novo elemento\n"); for(i=0;i<tam;i++){ printf("%d\t",pilha[i]);} printf("\n"); break; case 'd': ok=desempilhar(pilha,tam,&pont); if(ok)printf("\nElemento retirado com sucesso!\n"); else printf("\nNao foi possivel retirar o elemento\n"); for(i=0;i<tam;i++){ printf("%d\t",pilha[i]);} printf("\n"); break; } }while(op!='s'); return 0;} #include<stdio.h>#include<stdlib.h>int main(){ int *vet,quant_int,i; printf("Quantos inteiros serao armazenados?"); scanf("%d",&quant_int); if((vet=(int*)malloc(quant_int*sizeof(int)))==NULL) { printf("Espaco insuficiente!"); exit(1); } for(i=0;i<quant_int;i++) { printf("\nInforme o valor da pos%d: ",i+1); scanf("%d",&vet[i]); } for(i=0;i<quant_int;i++) { printf("\nvet%d: %d",i+1,vet[i]); } printf("\n\n"); free(vet); return 0;} Lembrando que quando o usuario for entrar com as chaves (int), elas deverao estar em ordem, ou a busca binaria nao funcionara.#include<stdio.h>struct TPessoa{ int chave; char nome[40];};struct TPessoa v[10];int buscaBin(int tam,struct TPessoa v[], int pesq){ int ini=0,fim=tam-1,meio; while(ini<=fim) { meio=(ini+fim)/2; if(pesq==v[meio].chave) return meio; else if(v[meio].chave<pesq) ini=meio+1; else