Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas

Programa para busca binaria de números em um vetor, Exercícios de Estruturas de Dados e Algoritmos

Este é um programa que tem em sua composição a criação de um vetor e em seguida a busca de um numero de sua escolha no vetor.

Tipologia: Exercícios

2021

Compartilhado em 06/09/2023

davi-miranda-vaz
davi-miranda-vaz 🇧🇷

1 documento

1 / 1

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
#include <stdio.h>
#include <stdlib.h>
int encontranum(int vet[], int esq, int dir, int num) {
if (esq > dir) {
return -1; // Número não encontrado
}
int meiop = (esq + dir) / 2;
if (num == vet[meiop]) {
return meiop; // Número encontrado
} else if (num > vet[meiop]) {
return encontranum(vet, meiop + 1, dir, num);
} else {
return encontranum(vet, esq, meiop - 1, num);
}
}
int main() {
int i, tam, n, num, numencontrado = 0;
printf("Quantas posicoes o vetor tera?\n");
scanf("%d", &tam);
int vet[tam];
for (i = 0; i < tam; i++) {
system("cls");
printf("Qual o %d valor do vetor:", i + 1);
scanf("%d", &vet[i]);
}
system("cls");
printf("Qual o numero a ser buscado?");
scanf("%d", &num);
int esq = 0, dir = tam - 1;
int posicao = encontranum(vet, esq, dir, num);
if (posicao == -1) {
printf("Numero nao encontrado.\n");
} else {
printf("A posicao do numero e %d\n", posicao+1);
}
return 0;
}

Pré-visualização parcial do texto

Baixe Programa para busca binaria de números em um vetor e outras Exercícios em PDF para Estruturas de Dados e Algoritmos, somente na Docsity!

#include <stdio.h> #include <stdlib.h> int encontranum(int vet[], int esq, int dir, int num) { if (esq > dir) { return -1; // Número não encontrado } int meiop = (esq + dir) / 2; if (num == vet[meiop]) { return meiop; // Número encontrado } else if (num > vet[meiop]) { return encontranum(vet, meiop + 1, dir, num); } else { return encontranum(vet, esq, meiop - 1, num); } } int main() { int i, tam, n, num, numencontrado = 0; printf("Quantas posicoes o vetor tera?\n"); scanf("%d", &tam); int vet[tam]; for (i = 0; i < tam; i++) { system("cls"); printf("Qual o %d valor do vetor:", i + 1); scanf("%d", &vet[i]); } system("cls"); printf("Qual o numero a ser buscado?"); scanf("%d", &num); int esq = 0, dir = tam - 1; int posicao = encontranum(vet, esq, dir, num); if (posicao == -1) { printf("Numero nao encontrado.\n"); } else { printf("A posicao do numero e %d\n", posicao+1); } return 0; }