Este e um daqueles programas aparentemente inuteis, porem divertidos.A grande sacada deste programa e a funcao converge. Esta funcao escreve no console uma string convergindo para o meio, isto e:- letra 0;- letra n;- letra 1;- letra n-1;...De forma que o texto passado por parametro seja por fim escrito.Let's to the code:-----#include "stdio.h"#include "windows.h"int tamanhoString(char *str){ int tamanho = 0; while(*str){ tamanho++; *str++; } return tamanho;}void gotoxy(int x, int y){ COORD c; c.X = x; c.Y = y; SetConsoleCursorPosition (GetStdHandle(STD_OUTPUT_HANDLE), c);}void converge( int line, char *msg ){ int i, j; for( i = 1, j = tamanhoString(msg); i < j; i++, j-- ){ gotoxy(i, line); printf("%c", msg[i-1]); gotoxy(j, line); printf("%c", msg[j-1]); }}int main(){ converge(10, "Testando a funcao converge()"); getchar(); return 0;}-----Como voce pode perceber, utilizamos uma funcao ja implementada: SetConsoleCursorPosition.Por este motivo, incluimos a biblioteca windows.h e, obviamente, este programa so funciona em ambiente Windows. Para quem utiliza Linux, se nao me engano, utilizamos a biblioteca graph.h para usar a funcao ja implementada gotoxy(); O jogo da forca consiste em acertar uma palavra secreta com o limite de x erros.Para os mais iniciantes algumas funcoes podem parecer complexa, mas nao sao. A chToUpper() recebe um caractere e retorna seu equivalente em maiusculo. A funcao fflush() limpa o buffer do teclado, ou seja, isso impede que o programa recolha lixo ao inves da entrada do usuario.Nesta primeira versao, a palavra secreta ja esta no codigo-fonte. Melhorias em breve. :3O jogo e simples e pequeno. Segue o codigo:21/10/11: voce pode ver a ultima versao com o codigo completo no meu repositorio do GitHub: Jogo da Forca#include <stdio.h>char palavraSecreta[] = "OVERFLOW";int letrasUsadas[256] = { 0 };char palavraDescoberta[] = "--------";int vida = 5;void showTelaInicial(){ printf("\t\t\t\t ------- \n"); printf("\t\t\t\t| Forca |\n"); printf("\t\t\t\t ------- \n"); printf("\n\n\n\nPressione <ENTER> para continuar..."); getchar();}int chToUpper(char ch){ return ch & ~32;}void printLetrasUsadas(){ int i; printf("\t\t\tLetras usadas: [ "); for(i = 65; i < 91; i++) if(letrasUsadas[i]) printf("%c ", i); printf("]\n");}void printPalavraDescoberta(){ int i; printf("\n\t\t\t=> "); for(i = 0; palavraSecreta[i]; i++) printf("%c ", palavraDescoberta[i]); printf("<=\n");}char chutaLetra(){ char ch; printf("\t\t\tNova letra: "); fflush(stdin); scanf("%c", &ch); return chToUpper(ch);}int verificaLetraUsada(int letra){ if(letrasUsadas[letra]) return 1; return 0;}int chuteCerto(char ch){ int i; int acertou = 0; for(i = 0; palavraSecreta[i]; i++) if(palavraSecreta[i] == ch){ palavraDescoberta[i] = ch; acertou = 1; } return acertou;}int terminou(){ int i; for(i = 0; palavraSecreta[i]; i++) if(palavraDescoberta[i] == '-') return 0; return 1;}void play(){ char chute; while(vida){ system("cls"); printf("\n\n"); printLetrasUsadas(); printf("\t\t\tVidas: %d\n", vida); printPalavraDescoberta(); chute = chutaLetra(); if(!verificaLetraUsada(chute)){ letrasUsadas[chute] = 1; if(!chuteCerto(chute)) vida--; else if(terminou()) break; } else{ printf("\t\t\tLetra ja utilizada... <ENTER>"); fflush(stdin); getchar(); } } system("cls"); if(!vida) printf("\n\n\t\t\t\tVoce perdeu..."); else printf("\n\n\t\t\tParabens, voce ganhou"); fflush(stdin); getchar();}int main(){ showTelaInicial(); play(); return 0;} Bubble sort e um algoritmo de ordenacao de vetores. Ele e um dos mais simples de se entender e implementar. O algoritmo consiste em comparar um numero na posicao n e n+1 e, caso n for maior, eles trocam de posicao. Por isso e chamado de metodo da bolha, pois ele vai jogando o maior para o final do vetor, formando bolhas.-----#include "stdio.h"void troca( int *a, int *b ){ int aux = *a;