Вписване в сайта



Търсене

Неделя, 13 Ноември 2011 09:51

изчерпващо търсене в редица

Написана от 
Оценете
(0 гласа)

Имате предварително въведена редица от N [5..25] броя естествени числа от интервала [1..10001].
Да се състави програма (C++), чрз която се въвежда естествено число K от указания интервал и се проверява дали има такова число в редицата.
Пример: N=10, K=234; 127, 78, 243, 8, 5638, 7212, 1236, 783, 481,346 Изход: Не

Решение

  
#include <iostream>
using namespace std;

int Linejno( int *mas,int broi, int kolko)
{
  int lipswa = 1, i = 0;
  cout<<"She prowerq obsho "<<broi<<" razlichni stojnosti.\n";
  while(i < broi && lipswa)//dokato ne sa obhodeni wsichki elementi i nqma otkrit
  {
    if(kolko != mas[i])
    {i++;cout<<"Srawnih sys stojnost: "<<mas[i]<<endl;}
     else lipswa = 0;
   }//while
  if (lipswa!=0 ) i=-1;
  return i;
}//int LinearSearch(

int main()
{
int chislo,i,broi;
int mas[] = { 127, 78, 243, 8, 5638, 7212, 1236, 783, 481,346 };
//pri deklarirane na masiwa ne opredelqme broq na elementite mu
broi = sizeof(mas) / sizeof(int);
//razmera na masiwa (zaetata RAM pamet) / nuvnata RAM za tipa 'int'

cout<<"Linejno tyrsene w redicata: \n";
cout<<"Wywedete chislo za tyrsene: "; cin >> chislo;
 i = Linejno(mas,broi, chislo);
 cout<<"Chisloto: "<<chislo;
 if(i <0) cout<<" ne e wyw wywedenata chislowa redica.\n";
  else
   {cout<<" se namira w "<<i+1<<"-ta poziciq na chislowata redica.\n";}
system ("pause");
return 0;
}
Прочетена 1200 пъти Последно променена в Събота, 19 Ноември 2011 18:10