Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/8: Рейтинг темы: голосов - 8, средняя оценка - 5.00
0 / 0 / 1
Регистрация: 26.03.2011
Сообщений: 24
1

Матрицы, алгоритм поиска

26.03.2011, 00:53. Показов 1517. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброй ночи. Нужна помощь в решении задач:
1. Даны три числа {A,B,C}. Разработать алгоритм поиска наименьшего значения из {|a-b|}, {|a-c|}, {|b-c|}.
2. Из положительный элементов массива T(14) выбрать наименьший по значению элемент и поменять местами с 3-м элементов этого массива.
3. Определить минимальный положительный элемент главной диагонали матрицы A(5,5) и заменить все элементы строки и столбца, в котором он находится, числом K.
Большое спасибо за помощь!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.03.2011, 00:53
Ответы с готовыми решениями:

ЖНФ матрицы - алгоритм поиска
Всем привет. Интересует алгоритм поиска ЖНФ (Жорданова нормальная форма) матрицы. Я так понимаю в...

КуР-алгоритм поиска собственных значенийдля почти треугольной матрицы!
QR-алгоритм поиска собственных значенийдля почти треугольной матрицы! Помогите написать, а лучше...

Нужен алгоритм поиска пути в этом лабиринте (будь то волновой алгоритм или алгоритм правой/левой руки )
#include "stdafx.h" #include <iostream> #include <conio.h> using namespace std; void lab...

Волновой алгоритм поиска (Алгоритм A* / Алгоритм А стар)
Хочу разработать алгоритм для решения головоломки с подвижными дисками (перестановочная...

6
101 / 101 / 15
Регистрация: 04.02.2010
Сообщений: 162
26.03.2011, 13:20 2
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#include <iostream>
#include <iomanip>
#include <ctime>
#include <cstdlib>
 
using namespace std;
 
int main()
{
    srand( ( unsigned ) time ( NULL ) );
    const int arrSize = 5;
    int T[ arrSize ];
    //Вводим значения в массив
    for ( int i = 0; i < arrSize; i++ ) { 
        cout << "Input element T[ " << i << " ] - ";    
        T[ i ] = rand() % 21 - 10;
        cout << T[ i ] << endl;
    } 
    //Выводим массив на экран
    cout << "\n\nArray:\n";
    for ( int i = 0; i < arrSize; i++ )
        cout << setw( 4 ) << T[ i ];
    
    int index = 0;
 
    for ( int i = 1; i < arrSize; i++ ) { 
        if ( T[ i ] >= 0 && T[ index ] < 0 ) {
            index = i;
        }
        else if ( T[ i ] >= 0 && T[ index ] >= 0 && T[ i ] < T[ index ] ) {
            index = i;
        }
    }   
 
    if ( T[ index ] < 0 ) 
        index = -1;
 
    if ( index >= 0 ) {
        cout << "\n\nMinimal element of array T[ " << index << " ] - " << T[ index ] << endl;
        int temp = T[ 2 ];
        T[ 2 ] = T[ index ];
        T[ index ] = temp;
        cout << "\n\nArray:\n";
        for ( int i = 0; i < arrSize; i++ ) 
            cout << setw( 4 ) << T[ i ];
        cout << endl << endl;
    }
    else
        cout << "\n\nAn array does not have positive elements\n\n";
}
1
0 / 0 / 1
Регистрация: 26.03.2011
Сообщений: 24
26.03.2011, 13:23  [ТС] 3
vitaska
Большое вам спасибо! Сейчас буду сравнивать со своими наработками.
0
101 / 101 / 15
Регистрация: 04.02.2010
Сообщений: 162
26.03.2011, 13:39 4
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
60
61
62
63
64
65
66
#include <iostream>
#include <iomanip>
#include <ctime>
#include <cstdlib>
 
using namespace std;
 
int main()
{
    srand( ( unsigned ) time ( NULL ) );
    const int arrSize = 5;
    int T[ arrSize ][ arrSize ];
    //Вводим значения в массив
    for ( int i = 0; i < arrSize; i++ ) { 
        for ( int j = 0; j < arrSize; j++ ) { 
            //cout << "Input element T[ " << i << " ][ " << j << " ] - ";   
            T[ i ][ j ] = rand() % 21 - 10;
            //cout << T[ i ] << endl;       
        } 
    } 
    //Выводим массив на экран
    cout << "\n\nArray:\n";
    for ( int i = 0; i < arrSize; i++ ){
        for ( int j = 0; j < arrSize; j++ ) 
            cout << setw( 4 ) << T[ i ][ j ];
        cout << endl;
    }
    
    int indexRowCol = 0;
 
    for ( int i = 0; i < arrSize; i++ ) { 
        if ( T[ i ][ i ] >= 0 && T[ indexRowCol ][ indexRowCol ] < 0 ) {
            indexRowCol = i;
        }
        else if ( T[ i ][ i ] >= 0 && T[ indexRowCol ][ indexRowCol ] >= 0 && T[ i ][ i ] < T[ indexRowCol ][ indexRowCol ] ) {
            indexRowCol = i;
        }
    }   
 
    cout << "Index - " << indexRowCol << endl;
 
    if ( T[ indexRowCol ][ indexRowCol ] < 0 ) 
        indexRowCol = -1;
 
    if ( indexRowCol >= 0 ) {
        cout << "\n\nMinimal element of main diagonal in matrix T[ " << indexRowCol << " ][ " 
              << indexRowCol << " ] is " << T[ indexRowCol ][ indexRowCol ] << endl;
        int temp = T[ indexRowCol ][ indexRowCol ];
        for ( int i = 0; i < arrSize; i++ ){
            for ( int j = 0; j < arrSize; j++ ) 
                if ( i == indexRowCol || j == indexRowCol) 
                    T[ i ][ j ] = temp;
        }
 
 
        cout << "\n\nArray:\n";
        for ( int i = 0; i < arrSize; i++ ){
            for ( int j = 0; j < arrSize; j++ ) 
                cout << setw( 4 ) << T[ i ][ j ];
            cout << endl;
        }
        cout << endl << endl;
    }
    else
        cout << "\n\nMatrix does not have positive elements in main diagonal\n\n";
}
Незачто. кнопочка спасибо внизу))

на счет первого задания не понял вопрос сори
1
0 / 0 / 1
Регистрация: 26.03.2011
Сообщений: 24
26.03.2011, 14:04  [ТС] 5
vitaska
И так спасибо. Только по поводу первого мне кажется что надо просто сравнить 3 числа.
0
1552 / 918 / 193
Регистрация: 26.03.2010
Сообщений: 3,105
26.03.2011, 14:09 6
Вот, с использованием библиотеки algorithm:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <cmath>
#include <algorithm>
 
int main ()
{
    const int SIZE = 3;
    int MAS [SIZE];
    int a, b, c;
 
    std::cin >> a >> b >> c;
 
    MAS[0] = fabs (a-b);
    MAS[1] = fabs (a-c);
    MAS[2] = fabs (b-c);
 
    std::cout << *std::max_element (MAS, MAS + SIZE);
    return 0;
}
Добавлено через 1 минуту
Или без нее:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#include <cmath>
 
int main ()
{
    const int SIZE = 3;
    int MAS [SIZE];
    int a, b, c;
 
    std::cin >> a >> b >> c;
 
    MAS[0] = fabs (a-b);
    MAS[1] = fabs (a-c);
    MAS[2] = fabs (b-c);
 
    if ((MAS[0] > MAS[1]) && (MAS[0] > MAS[2])) std::cout << MAS[0];
        else if (MAS[1] > MAS[2]) std::cout << MAS[1];
            else std::cout << MAS[2];
 
    return 0;
}
2
101 / 101 / 15
Регистрация: 04.02.2010
Сообщений: 162
26.03.2011, 14:32 7
Пожалуйста
1
26.03.2011, 14:32
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.03.2011, 14:32
Помогаю со студенческими работами здесь

Алгоритм поиска возможного количества подматриц матрицы А 4x6
Есть матрица А - размером 4 на 6. Каким образом можно найти максимальное количество подматриц этой...

Разработать алгоритм и программу поиска положительных элементов в главной диагонали матрицы
Разработать алгоритм и программу поиска положительных элементов в главной диагонали матрицы. ...

Разработать алгоритм и программу поиска положительных элементов в главной диагонали матрицы
Разработать алгоритм и программу поиска положитель-ных элементов в главной диагонали матрицы . ...

Написать алгоритм поиска данных методом линейного поиска
написать алгоритм поиска данных методом линейного поиска


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru