01)Utilizando a linguagem de programação C/C++ escreva um programa que teste estrutura de ordenação do tipo inserção, de números inteiros. O programa deverá permitir a digitação de um vetor com 10 elementos e possuir uma função que ordene estes valores utilizado o método Bubble Sort. Observe que para concluir esta tarefa o seu programa deverá imprimir o vetor não ordenado, o vetor ordenado e o resultado de cada passo do processo de ordenação.
Observe que seu programa
Numero 5
#include<stdio.h>
#include<stdlib.h>
#define TAM 50
int fila[TAM];
int inicio = 0;
int fim = 0;
int cont = 0;
//insere valor na fila
void insere(int valor){
if(cont == TAM){
printf("Fila cheia!\n");
return;
}
fila[fim] = valor;
if(fim == TAM-1)
fim = 0;
else
fim++;
cont++;
printf("Inserido!\n");
}
//remove o primeiro elemento da fila
void removef(){
if(cont == 0){
printf("Fila vazia!\n");
return;
}
if(inicio == TAM-1)
inicio = 0;
else
inicio++;
cont--;
printf("Removido!\n");
}
//Imprime a fila
void imprime(){
int i,j;
if(cont == 0){
printf("Fila vazia!\n");
return;
}
printf("\nFila:");
j = inicio;
for(i = 0; i < cont; i++){
printf("\n%d", fila[j]);
if(j == TAM-1)
j = 0;
else
j++;
}
}
int main(){
int op = 0, valor;
do{
printf("Selecione a opcao(0 para sair):\n");
printf("1 - Inserir\n");
printf("2 - Remover\n");
printf("3 - Imprimir\n");
scanf("%d", &op);
switch(op){
case 1: printf("Digite o valor a ser inserido:\n");
scanf("%d", &valor);
insere(valor);
break;
case 2: removef();
break;
case 3: imprime();
break;
default: printf("Digite uma opcao valida\n");
break;
}
} while (op != 0);
printf("\n");
system("pause");
return 1;
}
Utilizando a linguagem de programação C/C++ escreva um programa que teste estrutura de ordenação do tipo inserção, de números inteiros. O programa deverá permitir a digitação de um vetor com 10 elementos e possuir uma função que ordene estes valores utilizado o método Bubble Sort. Observe que para concluir esta tarefa o seu programa deverá imprimir o vetor não ordenado, o vetor ordenado e o resultado de cada passo do processo de ordenação.
#include <stdio.h>
#include <stdlib.h>
#ifdef WIN32
#define limpa_tela system("cls")
#else
#define limpa_tela system("/usr/bin/clear")
#define espera sleep(1)
#endif
main(){
//declaração de variáveis
int nPos=0, nAux=0;
int nInd=0, nAtual=0;
int nTroca=0, nChave=0;
//Quantidade de casas do vetor
while((nPos<=0)||(nPos>100)){
printf("\nQuantos numeros tera o vetor? ");
scanf("%d",&nPos);
}
//criando o vetor
int nVetor[nPos], nOrig[nPos], nOpc=-1;
//preenchendo os dados do vetor
for(nAux=0;nAux<=nPos-1;nAux++){
printf("\nInsira o numero %d: ",nAux+1);
scanf("%d",&nVetor[nAux]);
nOrig[nAux]=nVetor[nAux];
}
limpa_tela; //limpando a tela
while((nOpc<=0)||(nOpc>=4)){
printf("\n > Menu:");
printf("\n 1. Selecao | Selection Sort");
printf("\n 2. Insercao | Inserction Sort");
printf("\n 3. Troca | Bubble Sort");
printf("\n > Resposta: ");
scanf("%d",&nOpc);
}
printf("\nOrdenando:\n");
int i, j, t, m;
if(nOpc==1){
//Seleção
for(nInd=0; nInd<=nPos-1; nInd++){
for(nAux=0;nAux<=nPos-1;nAux++){
printf("[%d]",nVetor[nAux]);
}
nChave=nInd;
for(nAtual=nInd+1; nAtual<=nPos-1; nAtual++){
if(nVetor[nAtual]<nVetor[nChave])
nChave=nAtual;
}
nTroca = nVetor[nChave];
nVetor[nChave]=nVetor[nInd];
nVetor[nInd]=nTroca;
printf("\n");
}
}
else if(nOpc==2){
//inserção
for ( nInd=1; nInd<nPos; nInd++){
for(nAux=0;nAux<=nPos-1;nAux++){
printf("[%d]",nVetor[nAux]);
}
nChave = nVetor[nInd];
nAtual = nInd-1;
while( nAtual>=0 && nVetor[nAtual]> nChave){
nVetor[nAtual+1] = nVetor[nAtual];
nAtual-=1;
nVetor[nAtual+1] = nChave;
}
printf("\n");
}
}
else if (nOpc==3){
//bubble - troca
nTroca = nPos - 1 ;
for(nInd = 0; nInd < nPos; nInd++)
{
for(nAux=0;nAux<=nPos-1;nAux++){
printf("[%d]",nVetor[nAux]);
}
for(nAtual = 0; nAtual < nTroca; nAtual++)
{
if(nVetor[nAtual] > nVetor[nAtual+1])
{
nAux = nVetor[nAtual];
nVetor[nAtual] = nVetor[nAtual+1];
nVetor[nAtual+1]=nAux;
}
}
nTroca--;
printf("\n");
}
}
//Resultado - Vetor Original
printf("\nOriginal: ");
for(nAux=0;nAux<=nPos-1;nAux++){
printf("[%d]",nOrig[nAux]);
}
//Resultado - Vetor Ordenado
printf("\nOrdenada: ");
for(nAux=0;nAux<=nPos-1;nAux++){
printf("[%d]",nVetor[nAux]);
}
//limpando os dados e esperando o usuario apertar -Enter-
getchar();
printf("\n\nPressione -Enter- para finalizar!\n\n");
getchar();
}
Usando a linguagem de programação C/C++ escreva um programa que calcule o fatorial de um número inteiro digitado pelo usuário. Para que você consiga completar esta tarefa, o programa terá que ter pelo menos uma função.
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
double fatorial(doublenumero);
void imprime();
int main()
{
imprime();
return 0;
}
void imprime()
{
double numero;
printf("+++Fatorial+++");
printf("\n\nDigite um numero inteiro para o calulo do fatorial: ");
scanf_s("%lf", &numero);
printf("O resultado e: %.0lf\n\n", fatorial(numero));
getchar();
_getch();
}
double fatorial(doublenumero) //O calculo do fatorial e feito aqui
{
double aux;
aux = numero;
while (numero > 1)
{
aux = aux * (numero - 1);
numero--;
}
return (aux);
}
Para escrever sua resposta aqui, entre ou crie uma conta.
Compartilhar