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

Если среди трех чисел А, В, С имеется хотя бы одно четное вычислить максимальное - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 5.00
Dmitriy_S
1 / 1 / 0
Регистрация: 29.05.2010
Сообщений: 44
31.05.2010, 15:03     Если среди трех чисел А, В, С имеется хотя бы одно четное вычислить максимальное #1
Если среди трех чисел А, В, С имеется хотя бы одно четное вычислить максимальное, иначе – минимальное.Как это выглядит С++?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.05.2010, 15:03     Если среди трех чисел А, В, С имеется хотя бы одно четное вычислить максимальное
Посмотрите здесь:

C++ Определите, имеется ли среди заданных целых чисел * A, B, C хотя бы одно чётное
Определить, имеется ли среди чисел a, b, c хотя бы одна пара взаимно противоположных чисел C++
C++ Выяснить, имеется ли среди чисел последовательности хотя бы одно число Фибоначчи
Определить, имеется ли среди чисел хотя бы пара равных между собой C++
C++ найти среди первых чисел Фибоначчи хотя бы одно, делящееся на m
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
NNN777
299 / 157 / 19
Регистрация: 27.02.2010
Сообщений: 317
31.05.2010, 15:36     Если среди трех чисел А, В, С имеется хотя бы одно четное вычислить максимальное #2
Простейший вариант) :
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
#include<iostream>
 
using namespace std;
void main ()
{
    setlocale (LC_ALL, "Russian");
    int a, b, c, max=0, min=0;
    cout<<"Введите a: ";
    cin>>a;
    cout<<"Введите b: ";
    cin>>b;
    cout<<"Введите c: ";
    cin>>c;
    if ((a%2==0)||(b%2==0)||(c%2==0))
    {
        max=a;
        if (b>max)
            max=b;
        if (c>max)
            max=c;
        cout<<"Мах: "<<max<<endl;
    }
    else
    {
        min=a;
        if (b<min)
            min=b;
        if (c<min)
            min=c;
        cout<<"Мin: "<<min<<endl;
    }
}
Dmitriy_S
1 / 1 / 0
Регистрация: 29.05.2010
Сообщений: 44
31.05.2010, 15:55  [ТС]     Если среди трех чисел А, В, С имеется хотя бы одно четное вычислить максимальное #3
Класс,спасибо все работает!
Beleaf
9 / 9 / 3
Регистрация: 14.04.2010
Сообщений: 99
31.05.2010, 18:16     Если среди трех чисел А, В, С имеется хотя бы одно четное вычислить максимальное #4
Более верно, если тебе показывать преподавателю, они всегда придираются, что нет проверки на равенство:

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 <iostream>
#include <cmath>
#include <math.h>
 
using namespace std;
 
int main()
{
    int a,b,c,max, min;
    cout << "A: ";
        cin >> a;
        cout << endl;
    cout << "B: ";
        cin >> b;
        cout << endl;
    cout << "C: ";
        cin >> c;
        cout << endl;
        if (a % 2 == 0 || b % 2 == 0 || c % 2 == 0)
        {
            if (a>b, a>c)
                cout << "max = " << a << endl;
            if (b>a, b>c)
                cout << "max = " << b << endl;
            if (c>a, c>b)
                cout << "max = " << c << endl;
            if (a == b, b == c)
                cout << "Your numbers are same" << endl;
        }
        else
        {
        if (a<b, a<c)
                cout << "min = " << a << endl;
            if (b<a, b<c)
                cout << "min = " << b << endl;
            if (c<a, c<b)
                cout << "min = " << c << endl;
            if (a == b, b == c)
                cout << "Your numbers are same" << endl;
        }
        system ("PAUSE");
        return 0;
}
Добавлено через 1 минуту
и, кстати, меньше переменных xDD
neske
1419 / 786 / 55
Регистрация: 26.03.2010
Сообщений: 2,689
31.05.2010, 18:55     Если среди трех чисел А, В, С имеется хотя бы одно четное вычислить максимальное #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
#include <iostream>
#include <algorithm>
 
int main ()
{
    int A, B, C;
    std::cout << "Input A: "; std::cin >> A;
    std::cout << "Input B: "; std::cin >> B;
    std::cout << "Input C: "; std::cin >> C;
    int tmp;
    int rezult;
 
    if ((A%2) && (B%2) && (C%2)) {
            tmp=std::min (A, B);
            rezult=std::min (C, tmp); }
    else {
            tmp=std::max (A, B);
            rezult=std::max (tmp, C); }
 
    std::cout << "Rezult: " << rezult;
    std::cout << std::endl;
    system ("pause");
    return 0;
}
so1o
33 / 33 / 2
Регистрация: 16.11.2009
Сообщений: 192
31.05.2010, 19:12     Если среди трех чисел А, В, С имеется хотя бы одно четное вычислить максимальное #6
ну тогда и я за компанию

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
#include <iostream.h>
using namespace std;
int ret (int a, int b, int c)
{
   int max;
   max=(a>b)?a:b;
   return (max>c)?max:c;
}
int pet(int a,int b,int c)
{
   int min;
   min=(a<b)?a:b;
   return (min<c)?min:c;
}
int main()
{
 int a,b,c;
 cout<<"Vvedite a "; 
 cin>>a;
 cout<<"Vvedite b ";
 cin>>b;
 cout<<"Vvedite c ";
 cin>>c;
 if((a%2) || (b%2) || (c%2))
 {
  cout<< ret(a,b,c);
 }
 else
 cout<<pet(a,b,c);
system("PAUSE");
}
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9371 / 5421 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
31.05.2010, 21:10     Если среди трех чисел А, В, С имеется хотя бы одно четное вычислить максимальное #7
Ну и я добавлю
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <algorithm>
 
// Если среди трех чисел А, В, С имеется хотя бы одно четное вычислить максимальное,
// иначе – минимальное.
 
int main(){
    const int SIZE = 3;
    int arr[SIZE], i;
    for ( i = 0; i < SIZE; ++i ){
        std::cout << (char)('A' + i) << " = ";
        std::cin >> arr[i];
    }
    for ( i = 0; i < SIZE && (arr[i] & 1); ++i )
        ;
    if ( i == SIZE )
        std::cout << "Minimum number: " << *std::min_element(arr, arr + SIZE) << std::endl;
    else
        std::cout << "Maximum number: " << *std::max_element(arr, arr + SIZE) << std::endl;
 
    return 0;
}
nike01
0 / 0 / 0
Регистрация: 06.01.2012
Сообщений: 51
20.05.2012, 18:04     Если среди трех чисел А, В, С имеется хотя бы одно четное вычислить максимальное #8
Здравствуйте. А что если дан файл, в котором присутствуют числа, и нужно из них вичислить одно максимальное. (Количество чисел не ограничено) ?
gray_fox
What a waste!
 Аватар для gray_fox
1244 / 1127 / 53
Регистрация: 21.04.2012
Сообщений: 2,350
Завершенные тесты: 3
20.05.2012, 19:06     Если среди трех чисел А, В, С имеется хотя бы одно четное вычислить максимальное #9
C++
1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
#include <fstream>
#include <iterator>
#include <algorithm>
 
 
int main() {
    std::ifstream ifs("path/to/file");
    std::istream_iterator<int> begin(ifs), end;
    std::cout << *std::max_element(begin, end) << std::endl;
}
nike01
0 / 0 / 0
Регистрация: 06.01.2012
Сообщений: 51
20.05.2012, 19:19     Если среди трех чисел А, В, С имеется хотя бы одно четное вычислить максимальное #10
Спасибо. Но мне бы попроще, я просто ещё iterator и algoritm не проходил. Вот моя прога, если вас не затруднит, исправте там нахождение максимального значения.
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
#include "stdio.h"
#include "conio.h"
#define FNAME "c:\\1.txt" 
void main()
{
char fname[20] = FNAME;
FILE *in; 
int a; 
int n =0; 
int max =0; 
puts("\n naxojdeniye max chisla");
printf("chisel,naxodyashixsya v fayle %s", fname);
// otkrit fayl v rejime chteniya (a) teksta (t)
if ((in = fopen(fname, "rt")) == NULL)
{
printf("Oshibka otkritiya fayla");
getch();
return;
}
if(a>max) max=a;//Vot zdes' u menya problema
{
fscanf(in,"%i", &a);
 
n++;
}
fclose(in); // zakrit fayl
printf("maksimalnoe chislo: %i\n", max);
printf("Vvedeno chisel: %i\n", n);
puts("\nDlya zaversheniya kliknite <Enter>");
getch();
}
gray_fox
What a waste!
 Аватар для gray_fox
1244 / 1127 / 53
Регистрация: 21.04.2012
Сообщений: 2,350
Завершенные тесты: 3
20.05.2012, 20:08     Если среди трех чисел А, В, С имеется хотя бы одно четное вычислить максимальное #11
Попробуй так:
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
//#include "stdio.h"
#include <cstdio>
#include "conio.h"
#include <climits>
#define FNAME "c:\\1.txt"
//void main()
 
int main() {
    char fname[20] = FNAME;
    FILE *in;
    int a;
    int n = 0;
    //int max = 0;
    int max = INT_MIN;
    puts("\n naxojdeniye max chisla");
    printf("chisel,naxodyashixsya v fayle %s", fname);
    // otkrit fayl v rejime chteniya (a) teksta (t)
    if ((in = fopen(fname, "rt")) == NULL) {
        printf("Oshibka otkritiya fayla");
        getch();
        //return;
        return -1;
    }
    //if (a > max) max = a; //Vot zdes' u menya problema - А что хотели то из этого получить?
    while (!feof(in)) {         // читаем в цикле, пока не конец файла
        fscanf(in, "%i", &a);
        if (a > max) {
            max = a;
        }
        n++;
    }
    fclose(in); // zakrit fayl
    printf("maksimalnoe chislo: %i\n", max);
    printf("Vvedeno chisel: %i\n", n);
    puts("\nDlya zaversheniya kliknite <Enter>");
    getch();
}
nike01
0 / 0 / 0
Регистрация: 06.01.2012
Сообщений: 51
20.05.2012, 21:08     Если среди трех чисел А, В, С имеется хотя бы одно четное вычислить максимальное #12
Спасибо, но кажется так более лучше)
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
#include "stdio.h"
#include "conio.h" 
#define FNAME "c:\\1.txt" // imya fayla
void main()
{
char fname[20] = FNAME; 
FILE *in; // tekstoviy fayl
int a; // chislo
int n =0; // kolichestvo chisel
int max=0;
int min=0;
puts("\n naxojdeniye max");
printf("chisla,naxodyashixsya v fayle %s", fname);
 
if ((in = fopen(fname, "rt")) == NULL)
{
printf("Oshibka otkritiya fayla");
getch();
return;
}
while (!feof(in))
{
fscanf(in,"%i", &a);
if(a>max){
max=a;
}
n++;
}
fclose(in); // zakrit fayl
 
printf("Vvedeno chisel: %i\n", n);
printf("Max chislo: %i\n", max);
puts("\nDlya zaversheniya kliknite <Enter>");
getch();
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.05.2012, 21:22     Если среди трех чисел А, В, С имеется хотя бы одно четное вычислить максимальное
Еще ссылки по теме:

C++ Определить, имеется ли среди заданных целых чисел A, B, C хотя бы одно чётное
C++ 6. Определить, имеется ли среди заданных целых чисел A, B, C хотя бы одно четное. Предусмотреть проверку вводимых данных на отрицательность
C++ Определить, имеется ли среди целых чисел a, b и c хотя бы одно чётное

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

Или воспользуйтесь поиском по форуму:
gray_fox
What a waste!
 Аватар для gray_fox
1244 / 1127 / 53
Регистрация: 21.04.2012
Сообщений: 2,350
Завершенные тесты: 3
20.05.2012, 21:22     Если среди трех чисел А, В, С имеется хотя бы одно четное вычислить максимальное #13
Хозяин - барин)
Yandex
Объявления
20.05.2012, 21:22     Если среди трех чисел А, В, С имеется хотя бы одно четное вычислить максимальное
Ответ Создать тему
Опции темы

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