[c++]Пример программы с использованием массивов
От: Аноним  
Дата: 29.07.08 17:00
Оценка:
Здравствуйте! Пытаюсь изучать Си по книге Е.М.Демидовича "Основы алгоритмизации и программирования. Язык Си". Когда одну из задач компилировала в Borland C++ ошибки не возникло, но во время запуска программы и ввода данных указанных в книге для проверки работоспособности программы, прпограмма зависает...
/* Ввести 2 массива целых чисел. Второй массив упорядочен в порядке убывания. Определить, какие числа первого массива принадлежат и второму массиву. */ 
/* Ввод: k1-?2 4 7 k2-?3 7 5 2 
Вывод: 7 is found */ 
Код:

#include<iostream.h> 
#include<conio.h> 
void main() 
{ 
  clrscr(); 
  int a[100],b[100]; 
  int i,j,k,k1,k2,l,r; 
  cout<<"k1-?"; cin>>k1; 
  for(i=0;i<k1;i++) 
  cin>>a[i]; 
  cout<<"\n k2-?"; cin>>k2; 
  for(i=0;i<k2;i++) 
  cin>>b[i]; 
  for(i=0;i<k1;i++) 
    { 
      l=0; r=k2; 
      while(r>=1) 
   { 
     k=(l+r)/2; 
     if(a[i]>b[k]) r=k-1; 
     else if(a[i]<b[k]) l=k+1; 
     else 
       { 
         cout<<a[i]<<" is found \n"; break; 
       } 
   } 
    } 
  cout<<"\n"; 
}

добавлена разметка — Кодт
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.