x-kom hosting

Program z wartownikiem

Kamila38
utworzono
utworzono

Cześć wszystkim,

mam problem ze zrozumieniem idei programu z wartownikiem.W którym momencie my ten wartownik deklarujemy, bo tak naprawde on nie jest pobierany z klawiatury.

Proszę wyjaśnić prostym językiem.

 

#include <iostream>
#include <cstdlib>
#include <ctime>
#include <cstdio>
using namespace std;

void wypelnij(int tab[10])
{
for (int i=0; i<9 ;i++)
tab[i]=rand()%21;
}

void wyswietl(int tab[10])
{
for(int i=0; i<9 ;i++)	
cout<<tab[i]<<" ";
}
void szukaj_z_wartownikiem(int tablica[10], int szukany)
{
	int i;
	tablica[9]=szukany;
	i=0;
	while(tablica[i]!=szukany)
	i++;
	if(i<9)
	cout<<"Element zostal znaleziony!";
	else
	cout<<"Element nie zostal znaleziony!";
}
int main()
{
	int tab[10];
	int szukany;
wypelnij(tab);
wyswietl(tab);
cout<<"wprowadz element szukany: ";
cin>>szukany;
srand(time(NULL));

cout<<endl;
szukaj_z_wartownikiem(tab,szukany);
cin.ignore();
getchar();

return 0;
}

 

Matematyk0
komentarz
komentarz (edytowane)

Idea programu: http://www.algorytm.org/dla-poczatkujacych/szukanie-elementu-z-wartownikiem.html

 

A wartownik to po prostu szukany przez nas element.

 

Deklaracja i wykorzystanie:

void szukaj_z_wartownikiem(int tablica[10], int szukany)
{
	int i;
	tablica[9]=szukany; //------------------------deklaracja "wartownika"
	i=0;
	while(tablica[i]!=szukany) //-----------------dopóki nie natrafi na szukany element
		i++; //---------------------------przesuwaj się w tablicy
	if(i<9) //--------------------------------jeżeli znalazł przed "wartownikiem"
		cout<<"Element zostal znaleziony!"; 
	else 	//--------------------------------jeżeli znaleziony element to "wartownik"
		cout<<"Element nie zostal znaleziony!";
}

Jest to sposób na przyspieszenie wyszukiwania danego elementu w tablicy. Przy 10 elementach nie zauważy się różnicy, jednak przy przeszukiwaniu milionów liczb, wyrazów, plików, czas szukania skróci się znacznie, mimo że są szybsze metody szukania.

Wciąż szukasz rozwiązania problemu? Napisz teraz na forum!

Możesz zadać pytanie bez konieczności rejestracji - wystarczy, że wypełnisz formularz.

×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Strona wykorzystuje pliki cookies w celu prawidłowego świadczenia usług i wygody użytkowników. Warunki przechowywania i dostępu do plików cookies możesz zmienić w ustawieniach przeglądarki.