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

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

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

Поиск максимального числа среди введённых чисел. Проверить код - C++

02.01.2014, 00:12. Просмотров 548. Ответов 9
Метки нет (Все метки)

Он должен делать следующее:
пользователь вводит число, если оно меньше 8 то считается мат. выражения, если больше то поиск максимального числа среди введённых доданных чисел, отрицательное число завершение ввода.()
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
42
43
#include <stdio.h>
#include <math.h>
#include <conio.h>
 
float rez_math(float l=10.5, float a=0.154, float x=5.3)
 
{
    float y;
    y = ((l*pow(sin(x/2),3))/sqrt(pow(a,2)+pow(l,2)-2*a*l*cos(x/2)));
    return y;
}
float maximum()
{
    float x, max = 0; 
    printf(" Enter a positive numbers (negative number-end input)");
    scanf("%f ", &x);
    while (x>0)
    {
        if (x>max) max = x;
        scanf("%f ", &x);
    }
    return max;
}
// newly created function has the form
float function(int n)
{
    float rez;
    if (n<8) rez = rez_math(); // created by passing parameters to defaults
    else rez = maximum();
    return rez;
}
//reference to the function in the main function has the form
int main()
{
    int N;
    float rez;
    printf("Enter whole number ");
    scanf("%d", &N);
    rez = function(N);
    printf("The results obtained rez(%d) = %5.3f", N, rez);
    getch();
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.01.2014, 00:12
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Поиск максимального числа среди введённых чисел. Проверить код (C++):

Разработать код для определения наименьшего числа среди трёх, введенных с клавиатуры, среди n, введённых с кл - C++
Разработать код для определения наименьшего числа среди трёх, введенных с клавиатуры, среди n, введённых с клавиатуры.

Проверить, что из введённых чисел x, y, z только два числа равны между собой - C++
Не использую оператора if, присвоить переменной значение t значение 0, если из введённых чисел x,y,z только два числа равны между собой, и...

Проверить, есть ли среди данных N чисел нули (исправьте код) - C++
Проверьте, есть ли среди данных N чисел нули. Вводится число N, а затем N чисел. Выведите YES, если среди введенных чисел есть хотя бы один...

Проверить, какое из введённых чисел больше - C++
Написать программу, которая сравнивает два введенных с клавиатуры числа. Программа должна указать, какое число больше, или, если числа...

Среди N введённых целых чисел найти количество соседей разных знаков. - C++
Помогите пожалуйста!! Даже не знаю как оно выглядит, ни набросков, ничего нет. =((

Среди N введённых целых чисел найти количество соседей разных знаков - C++
Среди N введённых целых чисел найти количество соседей разных знаков.

9
Ev_Hyper
Заблокирован
02.01.2014, 00:35 #2
По вашему это правильная работа?
Кликните здесь для просмотра всего текста

Enter whole number 8
Enter a positive numbers (negative number-end input)2
3
4
5
6
7
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
1
21
3
4
5
6
7
8
9
0
4
The results obtained rez(8) = 21.000
0
lmog
0 / 0 / 0
Регистрация: 20.11.2013
Сообщений: 30
02.01.2014, 00:40  [ТС] #3
В принципе max найдено, но как окончание ввода чисел с этим проблема, может подскажете как ?
0
Ev_Hyper
Заблокирован
02.01.2014, 00:46 #4
Для начала, зачем нужна вот эта фраза?
Цитата Сообщение от lmog Посмотреть сообщение
printf("Enter whole number ");
Добавлено через 1 минуту
все, понял. Вопрос неактуален.
0
lmog
0 / 0 / 0
Регистрация: 20.11.2013
Сообщений: 30
02.01.2014, 00:46  [ТС] #5
Цитата Сообщение от Ev_Hyper Посмотреть сообщение
Для начала, зачем нужна вот эта фраза?
Сообщение от lmog
printf("Enter whole number ");
* Введите любое число* просто в задании сказано так сделать
0
Ev_Hyper
Заблокирован
02.01.2014, 00:55 #6
lmog, я вам советую перейти на использование cin,cout. А в while исправить условие, на:
C++
1
while (x>=0)
2. зачем вам функция
C++
1
float function(int n)
3. Если пользователь сразу введет отрицательное число, то вернет max=0;
4. Вам не кажется, что от одного сканфа стоит избавиться?
C++
1
2
3
4
5
6
scanf("%f ", &x);
 while (x>0)
 {
 if (x>max) max = x;
 scanf("%f ", &x);
 }
0
lmog
0 / 0 / 0
Регистрация: 20.11.2013
Сообщений: 30
02.01.2014, 01:21  [ТС] #7
Цитата Сообщение от Ev_Hyper Посмотреть сообщение
2. зачем вам функция
Код C++
1
float function(int n)
А как будет идти проверка числа которое выбрал пользователь ?

Вопрос еще актуальный, как сделать окончание ввода значений ?

Добавлено через 11 минут
Я думаю нужно перед
Цитата Сообщение от Ev_Hyper Посмотреть сообщение
if (x>max) max = x;
поставить что то типа сравнения, если x<0 то вывод результата по поиску max, а если иной вариант то идет следующее сравнение (x>max) max = x
Я предполагаю так, как это реализовать ?
0
Ev_Hyper
Заблокирован
02.01.2014, 01:36 #8
Цитата Сообщение от lmog Посмотреть сообщение
А как будет идти проверка числа которое выбрал пользователь ?
сделать её в main()

Цитата Сообщение от lmog Посмотреть сообщение
Вопрос еще актуальный, как сделать окончание ввода значений ?
я же вам написал изменить условие в while на >=
и перегруппировать сканфы в while.

Добавлено через 2 минуты
C++
1
2
3
4
5
6
7
8
9
10
11
12
float maximum()
{
    float x=0, max = 0; 
    printf(" Enter a positive numbers (negative number-end input)");
    while (x>=0)
    {
cin>>x;
        if (x>max) max = x;
        
    }
    return max;
}
Добавлено через 1 минуту
проблему, которую я указал в п.3 это не решает, но её легко исправить.
0
lmog
0 / 0 / 0
Регистрация: 20.11.2013
Сообщений: 30
02.01.2014, 01:43  [ТС] #9
Я запутался, можете теперь это все соединить во едино, в готовый вариант ?!
0
Ev_Hyper
Заблокирован
02.01.2014, 12:20 #10
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
float rez_math(float l=10.5, float a=0.154, float x=5.3)
 
{
    float y;
    y = ((l*pow(sin(x/2),3))/sqrt(pow(a,2)+pow(l,2)-2*a*l*cos(x/2)));
    return y;
}
float maximum()
{
    float x=0, max = 0; 
    printf(" Enter a positive numbers (negative number-end input)");
    while (x>=0)
    {
        cin>>x;
        if (x>max) max = x;
    }
    return max;
}
// newly created function has the form
float function(int n)
{
    float rez;
    if (n<8) rez = rez_math(); // created by passing parameters to defaults
    else rez = maximum();
    return rez;
}
//reference to the function in the main function has the form
int main()
{
    int N;
    float rez;
    printf("Enter whole number ");
    scanf("%d", &N);
    rez = function(N);
    printf("The results obtained rez(%d) = %5.3f", N, rez);
    getch();
    return 0;
}

Да и зачем создавать функцию rez_math, она же однократно используется.

Можно переделать немного программу:
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
void maximum()
{
    double x=0, max = -1; 
    cout<<"Введите положительное число(отрицательное - выход)"<<endl;
    while (x>=0)
    {
        cin>>x;
        if (x>max) max = x;
    }
    if(max!=-1) cout<<"Max,= "<<max<<endl;
    
}
 
int main()
{   
    setlocale(LC_ALL, "rus");
    double rez,l=10.5,  a=0.154, x=5.3,N;
    cout<<"Введите число "<<endl;
    cin>>N;
    if (N<8){
    rez = ((l*pow(sin(x/2),3))/sqrt(pow(a,2)+pow(l,2)-2*a*l*cos(x/2)));
    cout<<"Rez, ="<<rez<<endl;
    }
    else maximum();
    return 0;
}
Добавлено через 21 секунду
C++
1
2
#include <iostream>
#include <locale>
0
02.01.2014, 12:20
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.01.2014, 12:20
Привет! Вот еще темы с ответами:

Среди N введённых целых чисел найти количество соседей разных знаков - C++
Среди N введённых целых чисел найти количество соседей разных знаков.

Поиск минимального и максимального среди неповторяющихся - C++
Нужно найти количество повторяющихся элементов и максимальный и минимальный среди неповторяющихся. Количество повторяющихся считает, но...

Нахождения минимального числа из двух введённых чисел - C++
Создать программу для нахождения минимального числа из двух введённых.Программа должна вычислять сумма 3 минимальных чисел. Из этого...

Поиск максимального среди отрицательных элементов одномерного массива - C++
Доброго времени суток! Задача следующая: В массиве Х, содержащем 14 элементов, определить максимальный элемент среди отрицательных...


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

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

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