Форум программистов, компьютерный форум CyberForum.ru

Интервалы - C++

Восстановить пароль Регистрация
 
Jony Wocker
45 / 45 / 2
Регистрация: 19.11.2009
Сообщений: 362
19.04.2010, 09:23     Интервалы #1
Подпрограммы.
Для заданных А и В (A<B) и последовательности целых чисел определите количество чисел, которые принадлежат интервалам
[-∞,A], [A,B], [B,+∞].


C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
//---------------------------------------------------------------------------
#include <iomanip.h>
#include <vcl.h>
#include <conio.h>
#include <iostream.h>
//---------------------------------------------------------------------------
int func(const int *mas,int m,int a,int b);
int vvod(int *mas,int m,int a,int b);
int main()
{const int n=20;
int q[n],i;
int a=0,b=0;
cout<<"Massiv Q:\n";
vvod(q,n,a,b);
func (q,n,a,b);
getch(); return 0;
}
int func (const int *mas,int m,int a,int b)
{ int n1=0,n2=0,n3=0;
 int i;
 for(i=0;i<m;i++)
 {if (mas[i]<a) n1++; 
  if (mas[i]>=a && mas[i]<=b) n2++; //Почему не считает или не выводит n2
  if (mas[i]>b) n3++;} //Неправильно считает.
  
cout<<"[~,A]- "<<n1<<endl;
cout<<"[A,B]- "<<n2<<endl;
cout<<"[B,~]- "<<n3<< endl;
 
return 0 ;}
 
int vvod(int *mas,int m,int a,int b)
{int i;
   cout<<"[ ";
 for(i=0;i<m;i++)
 {mas[i]=random(50)-10;
  cout<<mas[i]<<" ";}
  cout<<" ]\n";
  cout<<"A= ";cin>>a;
cout<<"B= ";cin>>b;
  return 0;}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.04.2010, 09:23     Интервалы
Посмотрите здесь:

Интервалы. Где дыра в алгоритме ? C++
Интервалы времени
Интервалы монотоности
разбиение на интервалы C#
Интервалы Java SE
Delphi Интервалы
Интервалы MS Excel
MathCAD Интервалы изоляции корней

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
GreyDark
 Аватар для GreyDark
8 / 8 / 1
Регистрация: 11.02.2010
Сообщений: 21
19.04.2010, 14:59     Интервалы #2
Ты передаёшь a и b в vvod по значению, и после выхода из функции они остаются нулями.
Попробуй сделать так:
C++
1
int vvod(int *mas,int m,int &a,int &b)
(и в 8-й и в 32-й строках).
Пользуйся пошаговой отладкой, такие ошибки будешь находить в один миг.
Yandex
Объявления
19.04.2010, 14:59     Интервалы
Ответ Создать тему
Опции темы

Текущее время: 11:51. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru