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

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

Восстановить пароль Регистрация
 
Kolbusdkiy
 Аватар для Kolbusdkiy
0 / 0 / 0
Регистрация: 14.10.2013
Сообщений: 112
18.12.2013, 20:18     отношение наибольшего числа к наименьшему, квадрат суммы двух меньших по значению чисел #1
Использовать функциии.
Составьте программу-меню для решения нескольких задач. Пользователь выбирает варианты решения: 1 - решение первой задачи, 2 - решение второй задачи.

Компьютер считывает четыре натуральных числа и вычисляет:
1) отношение наибольшего числа к наименьшему;
2) квадрат суммы двух меньших по значению чисел.

Добавлено через 46 минут
Помогите!

Добавлено через 18 часов 40 минут
:-)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.12.2013, 20:18     отношение наибольшего числа к наименьшему, квадрат суммы двух меньших по значению чисел
Посмотрите здесь:

Написать программу поиска двузначных чисел, обладающих следующим свойством: если к сумме цифр числа прибавить квадрат этой суммы, то получится снова д C++
Составить программу подсчета числа всех натуральных чисел, меньших M, квадрат суммы цифр которых равен X. C++
Найти среди двузначных чисел такие, что квадрат числа равен кубу суммы цифр этого числа C++
C++ Проверить, квадрат заданного трехзначного числа равен кубу суммы цифр этого числа
C++ Найти порядковый номер наибольшего по значению числа, являющегося симметричным в десятичном представлении
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ev_Hyper
 Аватар для Ev_Hyper
1806 / 1627 / 435
Регистрация: 15.12.2013
Сообщений: 5,786
18.12.2013, 20:21     отношение наибольшего числа к наименьшему, квадрат суммы двух меньших по значению чисел #2
С чем сложность возникла?
Kolbusdkiy
 Аватар для Kolbusdkiy
0 / 0 / 0
Регистрация: 14.10.2013
Сообщений: 112
18.12.2013, 20:37  [ТС]     отношение наибольшего числа к наименьшему, квадрат суммы двух меньших по значению чисел #3
Те две задачи через функции нужно записать, как?
Ev_Hyper
 Аватар для Ev_Hyper
1806 / 1627 / 435
Регистрация: 15.12.2013
Сообщений: 5,786
18.12.2013, 21:02     отношение наибольшего числа к наименьшему, квадрат суммы двух меньших по значению чисел #4
Если я правильно понял задачу, то алгоритм такой:

switch-case на выбор задачи,
если 1)=>вызов функции One():
если 2)=>вызов функции Two():

Передает в функцию или массив, или 4 разных числа. А в функции и реализуете задачу.
Или вообще ничего не передавайте, а считывайте уже в самой функции.
Kolbusdkiy
 Аватар для Kolbusdkiy
0 / 0 / 0
Регистрация: 14.10.2013
Сообщений: 112
18.12.2013, 22:39  [ТС]     отношение наибольшего числа к наименьшему, квадрат суммы двух меньших по значению чисел #5
спасибо)

Добавлено через 1 час 22 минуты
Помогите с кодом... что не так?
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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
#include<iostream.h>
 
int main() {
    using namespace std;
    
    int a, b, c ,d;
    cin>>a>>b>>c>>d;
    
void menu() {
    cout<<"Veberit punkt menu: \n"
    "1. Vidnoshennia naybilshogo do naymenshogo\n"
    "2. Kvadrat sumi dvoh menshih chisel\n";
}
 
int one() {
    int mas[k]={a,b,c,d};
    for(int i=0; i<k; ++i) {
        if(mas[k]<min) {
            min=mas[k];
        }
        else {
            max=mas[k];
        }
    }
    double answer;
    answer=max/min;
    cout<<"answer: "<<answer<<endl; 
    return answer;
}
 
int two() {
    int arr[4];
    arr[0]=a; arr[1]=b; arr[2]=c; arr[3]=d;
    for(int i=0; i<3; i++){
        for(int j=i+1; j<4; j++){
            if(arr[i]>arr[j]){
                swap(arr[i],arr[j])
            }
        }
        double summa;
        summa=(arr[0]+arr[1])*(arr[0]+arr[1]);
        cout<<summa;
        return summa;
    }
}
 
    void menu();
    int n=0;    
    cin>>n;
    switch(n) {
        case 1:
            int one();
            break;
        case 2:
            int two();
            
            break;
    }
    return 0;
}
Ev_Hyper
 Аватар для Ev_Hyper
1806 / 1627 / 435
Регистрация: 15.12.2013
Сообщений: 5,786
18.12.2013, 22:43     отношение наибольшего числа к наименьшему, квадрат суммы двух меньших по значению чисел #6
Много чего)
Ну например:
это не надо писать в майн
Цитата Сообщение от Kolbusdkiy Посмотреть сообщение
using namespace std;
перед функцией забыли закрыть предыдущую "}"
Цитата Сообщение от Kolbusdkiy Посмотреть сообщение
void menu() {
на мой взгляд можно меню в майн оставить.
Kolbusdkiy
 Аватар для Kolbusdkiy
0 / 0 / 0
Регистрация: 14.10.2013
Сообщений: 112
18.12.2013, 23:08  [ТС]     отношение наибольшего числа к наименьшему, квадрат суммы двух меньших по значению чисел #7
Ev_Hyper, спасибо)
А где я забыл закрыть? Не вижу...
Ev_Hyper
 Аватар для Ev_Hyper
1806 / 1627 / 435
Регистрация: 15.12.2013
Сообщений: 5,786
18.12.2013, 23:20     отношение наибольшего числа к наименьшему, квадрат суммы двух меньших по значению чисел #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
void one();
void two();
 
int main() {
    
 
    int n=0;    
    cin>>n;
    switch(n) {
        case 1:
            one();
            break;
        case 2:
            two();
            break;
    }
return 0;
 
}
 
void one() {
//реализация
}
 
void two() {
//реализация
}
Цитата Сообщение от Kolbusdkiy Посмотреть сообщение
где я забыл закрыть? Не вижу...
вот:
Цитата Сообщение от Kolbusdkiy Посмотреть сообщение
int a, b, c ,d;
cin>>a>>b>>c>>d;
void menu() {
Kolbusdkiy
 Аватар для Kolbusdkiy
0 / 0 / 0
Регистрация: 14.10.2013
Сообщений: 112
19.12.2013, 00:01  [ТС]     отношение наибольшего числа к наименьшему, квадрат суммы двух меньших по значению чисел #9
Ev_Hyper, так типа?
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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
#include<iostream.h>
using namespace std;
 
    int one();
    int two();
    
int main() {
    
    int a, b, c ,d;
    cin>>a>>b>>c>>d;
    
    void menu();
    int n=0;    
    cin>>n;
    switch(n) {
        case 1:
            int one();
            break;
        case 2:
            int two();
            break;
    }
    return 0;
}
 
void menu() {
    cout<<"Veberit punkt menu: \n"
    "1. Vidnoshennia naybilshogo do naymenshogo\n"
    "2. Kvadrat sumi dvoh menshih chisel\n";
}
 
int one() {
    int mas[k]={a,b,c,d};
    for(int i=0; i<k; ++i) {
        if(mas[k]<min) {
            min=mas[k];
        }
        else {
            max=mas[k];
        }
    }
    double answer;
    answer=max/min;
    cout<<"answer: "<<answer<<endl; 
    return answer;
}
 
int two() {
    int arr[4];
    arr[0]=a; arr[1]=b; arr[2]=c; arr[3]=d;
    for(int i=0; i<3; i++){
        for(int j=i+1; j<4; j++){
            if(arr[i]>arr[j]){
                swap(arr[i],arr[j])
            }
        }
        double summa;
        summa=(arr[0]+arr[1])*(arr[0]+arr[1]);
        cout<<summa;
        return summa;
    }
}
Ну теперь у меня ошибка, что не объявлены переменные..
Ev_Hyper
 Аватар для Ev_Hyper
1806 / 1627 / 435
Регистрация: 15.12.2013
Сообщений: 5,786
19.12.2013, 00:12     отношение наибольшего числа к наименьшему, квадрат суммы двух меньших по значению чисел #10
Да, что-то вроде этого, но почему вы в интовский тип пихаете символы a,b,c,d?Это же числа и их должен ввести пользоатель?

Добавлено через 1 минуту
Стоп, вы main не исправили.

Добавлено через 3 минуты
Вот так вот:
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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
#include<iostream>
using namespace std;
 
    
void one();
void two();
 
int main() {
    
 
    int n=0;  
    cout<<"Veberit punkt menu: \n"
    "1. Vidnoshennia naybilshogo do naymenshogo\n"
    "2. Kvadrat sumi dvoh menshih chisel\n";
    cin>>n;
    switch(n) {
        case 1:
            one();
            break;
        case 2:
            two();
            break;
    }
return 0;
 
}
 
void one() {
    int mas[4],max=0,min=1000,k=4;
    for(int i=0;i<4;i++)
        cin>>mas[i];
    for(int i=0; i<k; ++i) {
        if(mas[k]<min) {
            min=mas[k];
        }
        else {
            max=mas[k];
        }
    }
    double answer;
    answer=max/min;
    cout<<"answer: "<<answer<<endl; 
}
 
void two() {
 int arr[4];
        for(int i=0;i<4;i++)
        cin>>arr[i];
    for(int i=0; i<3; i++){
        for(int j=i+1; j<4; j++){
            if(arr[i]>arr[j]){
                swap(arr[i],arr[j]);
            }
        }
        double summa;
        summa=(arr[0]+arr[1])*(arr[0]+arr[1]);
        cout<<summa;
    }
}
"Логику" не проверял
Kolbusdkiy
 Аватар для Kolbusdkiy
0 / 0 / 0
Регистрация: 14.10.2013
Сообщений: 112
19.12.2013, 00:41  [ТС]     отношение наибольшего числа к наименьшему, квадрат суммы двух меньших по значению чисел #11
Ev_Hyper, спасибо.
Почему то первая функция не работает... помоги...
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
void one() {
    int mas[4],max=0,min=1000,k=4;
    cout<<"Vvedite 4 chisla: ";
    for(int i=0;i<4;i++)
        cin>>mas[i];
    for(int i=0; i<k; ++i) {
        if(mas[k]<min) {
            min=mas[k];
        }
        else {
            max=mas[k];
        }
    }
    double answer;
    answer=max/min;
    cout<<"answer: "<<answer<<endl; 
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.12.2013, 00:58     отношение наибольшего числа к наименьшему, квадрат суммы двух меньших по значению чисел
Еще ссылки по теме:

Найти все натуральные числа от 1 до N, представимые в виде суммы кубов двух натуральных чисел C++
Найти числа, которые представимы в виде суммы квадратов двух натуральных чисел C++
C++ Квадрат заданного трехзначного числа равен кубу суммы цифр этого числа

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

Или воспользуйтесь поиском по форуму:
Ev_Hyper
 Аватар для Ev_Hyper
1806 / 1627 / 435
Регистрация: 15.12.2013
Сообщений: 5,786
19.12.2013, 00:58     отношение наибольшего числа к наименьшему, квадрат суммы двух меньших по значению чисел #12
Цитата Сообщение от Kolbusdkiy Посмотреть сообщение
if(mas[k]<min) {
min=mas[k];
}
else {
max=mas[k];
}
вместо k напиши i, так как цикл у тебя по нему. И else у тебя неправильный - не все элементы > min есть max.
Yandex
Объявления
19.12.2013, 00:58     отношение наибольшего числа к наименьшему, квадрат суммы двух меньших по значению чисел
Ответ Создать тему
Опции темы

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