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

В массиве найти наибольший общий делитель его второго максимального и минимального по абсолютной величине элементов - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Диаграммы в BORLAND C http://www.cyberforum.ru/cpp-beginners/thread597879.html
Как создавать диаграммы в Borland . Может у кого есть примеры какие-нибудь. И где вообще можно про это найти инфу?
C++ Отсортировать масив Отсортировать элементы массива по возрастанию только положительные элементы. http://www.cyberforum.ru/cpp-beginners/thread597873.html
directshow C++
гдe скaчaть directshow ? дaйтe ссылку
C++ Структуры и классы
Помогите пожалуйста, полная задница) Во всех заданиях, помимо указанных в задании операций, обязательно должны быть реализованы следующие методы: • метод инициализации Init; • ввод с клавиатуры...
C++ Программа "Фокус" http://www.cyberforum.ru/cpp-beginners/thread597866.html
Люди добрые помогите еще разок. Я токо начинаю заниматься программированием поэтому трудно ваще что то делать, только самое элементарное (( для вас это ведь легко. Могу заплатить. P.S Интерфейс...
C++ Классы С++ Даны классы:Корабль, кадры, капитан, пароход, матрос, парусник Запросы: 1)Вывести перечень сотрудников для указанного судна. 2)Вывести наименование судна по ФИО капитана 3)Вывести количество... подробнее

Показать сообщение отдельно
-comrade-
355 / 356 / 42
Регистрация: 11.06.2010
Сообщений: 703
06.06.2012, 13:46
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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
#include <iostream> 
#include <math.h>
 
using namespace std; 
 
int NOD(int x, int y)
{
  if(y == 0) return x;
 
  return NOD(y, x % y);
}
 
int SecondMax(int *x, int n)
{
    for(int i = 0; i < n - 1; i++)         
        for(int j = 0; j < n - 1; j++)  
            if(x[j + 1] < x[j])
                swap(x[j + 1], x[j]);
 
    return x[n - 2];
}
 
int AbsMin(int *x, int n)
{
    int min = abs(x[0]);
    int i_min = 0;
    for(int i = 1; i < n; i++)
        if(abs(x[i]) < min) 
        {   
            min = abs(x[i]);    
            i_min = i;
        }
 
    return x[i_min];
}
 
int AbsMaxInColumn(int **x, int n, int k)
{
    int max = abs(x[0][k]);
    int i_max = 0;
    for(int i = 1; i < n; i++)
        if(abs(x[i][k]) > max) 
        {   
            max = abs(x[i][k]); 
            i_max = i;
        }
 
    return x[i_max][k];
}
 
int main()
{
    int n;
    cout<<"n = ";
    cin>>n;
 
    int **a = new int *[n];
    cout<<"Enter elements:"<<endl;
    for(int i = 0; i < n; i++)
    {
        a[i] = new int [n];
        for(int j = 0; j < n; j++)
            cin>>a[i][j];
    }
 
    int *b = new int [n];
    cout<<"\nArray: ";
    for(int i = 0; i < n; i++)
    {
        b[i] = AbsMaxInColumn(a, n, i);
        cout<<b[i]<<" ";
    }
 
    int sm = SecondMax(b, n);
    int am = AbsMin(b, n);
    cout<<"\nSecond max: "<<sm<<endl;
    cout<<"Abs min: "<<am<<endl;
    cout<<"NOD: "<<NOD(sm, am)<<endl;
 
    for(int i = 0; i < n; i++) delete a[i];
    delete [] a;
    delete [] b;
 
    system("pause");
    return 0;
}
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru