Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
 
sowpi
0 / 0 / 3
Регистрация: 11.11.2012
Сообщений: 23
#1

функции с++ - C++

25.11.2012, 14:41. Просмотров 878. Ответов 20
Метки нет (Все метки)

помогите пожалуйста написать через функции.
Написать программу решения след. задачи : выяснить,какое число встречается в последовательности РАНЬШЕ положительное или отрицательное
http://www.cyberforum.ru/cpp-beginners/thread1910326.html
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.11.2012, 14:41
Я подобрал для вас темы с готовыми решениями и ответами на вопрос функции с++ (C++):

Вычислить где значение функции меняет знак(отделение корней функции)
Имеется следующая функция f(x)=sqrt(4*x+7)-3*cos(x) Нужно написать программу,...

Вызов функции внутри другой функции с передачей локальной переменной по ссылке
Столкнулся с очень с интересной проблемой. Можно ли так делать? #include...

Найти среднее арифметическое значений функции f(x) в точках а, b, (a+b)/2, используя обращение к функции
Найти среднее арифметическое значений функции f(x) в точках а, b, (a+b)/2,...

Найти среднее арифметическое значений функции f(x) в точках а, b, (a+b)/2, используя обращение к функции
здраствуйте знатаки!! помогите пожалуйсто решить задачу.Найти среднее...

Табулирование заданной функции и определение максимального и минимального значения функции в таблице
Ребята, помогите пожалуйста решить последнюю задача, прямо совсем не как! ...

20
PazDim
5 / 5 / 1
Регистрация: 08.08.2011
Сообщений: 110
25.11.2012, 14:49 #2
А что понимается под последовательностью?
0
Kuzia domovenok
2209 / 1978 / 441
Регистрация: 25.03.2012
Сообщений: 6,944
Записей в блоге: 1
25.11.2012, 14:52 #3
C++
1
2
int* p=a; while(!(*p++));
cout<<((*(--p)>0)?"positive":"negative");
0
sowpi
0 / 0 / 3
Регистрация: 11.11.2012
Сообщений: 23
25.11.2012, 14:53  [ТС] #4
любой набор чисел,в идеале - ноль принять за окончание ввода
0
PazDim
5 / 5 / 1
Регистрация: 08.08.2011
Сообщений: 110
25.11.2012, 15:04 #5
Эээ.. Если я правильно понял задание-нужно узнать знак первого числа последовательности, так? Если <0, то раньше встречается отрицательное, если >=0, то раньше встречается положительное, так?
0
sowpi
0 / 0 / 3
Регистрация: 11.11.2012
Сообщений: 23
25.11.2012, 15:06  [ТС] #6
именно так...
0
PazDim
5 / 5 / 1
Регистрация: 08.08.2011
Сообщений: 110
25.11.2012, 15:12 #7
Функция, на вход подается первый элемент последовательности(не важно, где вы храните эти элементы), на выходе-истина, если положительный, ложь, если отрицательный:
a-первый элемент последовательности
C++ (Qt)
1
2
3
4
5
6
7
bool IsPositive(int a)
{
    if(a<0)
        return false;
    else
        return true;
};
Вот как-то так
1
0x10
2554 / 1734 / 285
Регистрация: 24.11.2012
Сообщений: 4,361
25.11.2012, 15:14 #8
PazDim, Ну тогда уж =)
C++
1
2
3
4
bool IsPositive(int a) 
{
  return a > 0;
}
0
PazDim
5 / 5 / 1
Регистрация: 08.08.2011
Сообщений: 110
25.11.2012, 15:18 #9
Ну да, так лучше . А вообще для такого и функция не нужна, только место вроде как занимает....
0
v.a.l.i.d
416 / 381 / 113
Регистрация: 21.09.2012
Сообщений: 913
25.11.2012, 15:20 #10
Цитата Сообщение от sowpi Посмотреть сообщение
ноль принять за окончание ввода
а если первое число будет ноль? тогда результат не известен что ли?
0
sowpi
0 / 0 / 3
Регистрация: 11.11.2012
Сообщений: 23
25.11.2012, 15:24  [ТС] #11
я когда писала эту программу не через функции--я делала так даётся длина последовательности,если первое число ноль-то программа просит ввести следующее число и уже определяла его "-" или "+"...если реально так написать,то это будет потрясающе.
0
PazDim
5 / 5 / 1
Регистрация: 08.08.2011
Сообщений: 110
25.11.2012, 15:27 #12
V.A.L.I.D, 0-это неотрицательное число. По-идее да, нужна функция с тремя вариантами, чего bool обеспечить не может... Тогда лучше уже писать функцию, анализирующую всю последовательность сразу. Так чем задана последовательность????
1
sowpi
0 / 0 / 3
Регистрация: 11.11.2012
Сообщений: 23
25.11.2012, 15:36  [ТС] #13
если последовательность просто вводится с клавиатуры?...ограничена только кол-вом введённых чисел,так же реально?

Добавлено через 5 минут
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
#include <iostream>
#include <conio.h>
#define size 10
int main()
{
int a[size];
cout<<"Input array";
for(int i=0;i<size;i++)
{
cout<<"A["<<i<<"]=";
cin>>a[i];
}
for(int i=0;i<size;i++)
{   
if(a[i]>0)
{
cout<<"+"<<endl;
break;
}
if(a[i]<0)
{
cout<<"-"<<endl;
break;
}
}
getch();
return 0;
}
0
0x10
2554 / 1734 / 285
Регистрация: 24.11.2012
Сообщений: 4,361
25.11.2012, 15:57 #14
sowpi, не понимаю я задания. Ваще. По сути все сводится к определению знака первого числа. Тогда и массив заводить не обязательно.
PS По твоему коду не нужны циклы по массивам, достаточно проверить знак нулевого элемента.
0
PazDim
5 / 5 / 1
Регистрация: 08.08.2011
Сообщений: 110
25.11.2012, 16:09 #15
0x10, Здесь проверяется на СТРОГОЕ равенство . Вот без массива
C++ (Qt)
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
int func()
{
    int n=0;//Количество элементов
    cout<<"Vvedite n"<<endl;
    cin>>n;//Ввод количества элементов
    if(n<1)//Должен быть задан хотя бы один элемент
    {
        cout<<"Error"<<endl;
        return 0;
    };
    for(int j=0;j<n;j++)
    {
        int a=0;//элемент последовательности
        cout<<"Vvedite a["<<j+1<<"]"<<endl;
        cin>>a;
        if(a>0)
        {
            cout<<"Polojitelnii"<<endl;//Раньше встречается положительный
            return 0;
        };
        if(a<0)
        {
            cout<<"Otricatelnii"<<endl;//Раньше встречается отрицательный
            return 0;
        };
    };
    cout<<"Vse nyli"<<endl;//Если все нули
    return 0;
};
1
sowpi
0 / 0 / 3
Регистрация: 11.11.2012
Сообщений: 23
26.11.2012, 02:52  [ТС] #16
спасибо)
0
taras atavin
4204 / 1763 / 212
Регистрация: 24.11.2009
Сообщений: 27,565
26.11.2012, 11:41 #17
Цитата Сообщение от PazDim Посмотреть сообщение
0-это неотрицательное число. По-идее да, нужна функция с тремя вариантами, чего bool обеспечить не может.
Где в задаче упомянут 0?
C++
1
{0, 1, -2};
, ответ: положительное встречается раньше отрицательного.
C++
1
{0, -5, 4};
, ответ: отрицательное встречается раньше положительного. Так что не надо путать эту задачу с функцией
C++
1
2
3
4
5
6
7
8
9
10
11
12
char sgn (int x)
{
 if (x<0)
 {
  return '-';
 }
 if (x>0)
 {
  return '+';
 }
 return '0';
}
.
1
PazDim
5 / 5 / 1
Регистрация: 08.08.2011
Сообщений: 110
26.11.2012, 13:39 #18
taras atavin, Вопрос в том, строгое здесь равенство или нет . a>0-положительное. a>=0-неотрицательное.
0
taras atavin
4204 / 1763 / 212
Регистрация: 24.11.2009
Сообщений: 27,565
26.11.2012, 13:46 #19
И где ж в задаче упоминается "не"?
0
PazDim
5 / 5 / 1
Регистрация: 08.08.2011
Сообщений: 110
26.11.2012, 15:06 #20
"положительное или отрицательное". Ноль-это не положительное и не отрицательное
0
26.11.2012, 15:06
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.11.2012, 15:06
Привет! Вот еще темы с решениями:

Как будут инициализированы переменные в теле функции и вне тела функции?
Здравствуйте. Подскажите, пожалуйста, как будут инициализированы переменные в...

А почему ошибка, что функции print и read не определены в функции main()?
Что-то не понимаю. Они определены в заголовочном файле. А подчеркивается...

Табулирование функции: рассчитать значение данной функции при изменении аргумента
Табулирование функции: рассчитать значение данной функции при изменении...

Вычислить m значений функции f(x) на отрезке [a, b]. Вычисление величины f(x) оформить в виде функции
Составить программу решения поставленной задачи: Вычислить m значений функции...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru