Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
sowpi
0 / 0 / 0
Регистрация: 11.11.2012
Сообщений: 23
#1

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

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

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

Функции. Как после одного возвратного значения функции отталкиваться от возврата другой функции - C++
Написал код, в котором 2 функции одна возвращает стринговое значение, вторая должна бы вернуть значение, отталкиваясь от первой. Возможно...

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

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

Используя перегруженные функции и шаблон функции удалить из массива элемент по индексу - C++
Стоит следующая задача: Используя перегруженные функции и шаблон функции удалить из массива элемент по индексу. Функцию написал, но я...

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

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

20
PazDim
5 / 5 / 1
Регистрация: 08.08.2011
Сообщений: 110
25.11.2012, 14:49 #2
А что понимается под последовательностью?
0
Kuzia domovenok
2125 / 1955 / 194
Регистрация: 25.03.2012
Сообщений: 6,804
Записей в блоге: 1
25.11.2012, 14:52 #3
C++
1
2
int* p=a; while(!(*p++));
cout<<((*(--p)>0)?"positive":"negative");
0
sowpi
0 / 0 / 0
Регистрация: 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 / 0
Регистрация: 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
2548 / 1728 / 264
Регистрация: 24.11.2012
Сообщений: 4,348
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 / 10
Регистрация: 21.09.2012
Сообщений: 913
25.11.2012, 15:20 #10
Цитата Сообщение от sowpi Посмотреть сообщение
ноль принять за окончание ввода
а если первое число будет ноль? тогда результат не известен что ли?
0
sowpi
0 / 0 / 0
Регистрация: 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 / 0
Регистрация: 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
2548 / 1728 / 264
Регистрация: 24.11.2012
Сообщений: 4,348
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
25.11.2012, 16:09
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.11.2012, 16:09
Привет! Вот еще темы с ответами:

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

Найти среднее арифметическое значений функции f(x) в точках a, b, (a+b)/2 используя обращение к функции - C++
А этой нету: 3.Найти среднее арифметическое значений функции f(x) в точках a, b, (a+b)/2 используя обращение к функции f=(x*sin⁡ π/4) /...

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

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


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

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

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