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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.78
qheff
0 / 0 / 0
Регистрация: 26.03.2011
Сообщений: 24
#1

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

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

Доброй ночи. Нужна помощь в решении задач:
1. Даны три числа {A,B,C}. Разработать алгоритм поиска наименьшего значения из {|a-b|}, {|a-c|}, {|b-c|}.
2. Из положительный элементов массива T(14) выбрать наименьший по значению элемент и поменять местами с 3-м элементов этого массива.
3. Определить минимальный положительный элемент главной диагонали матрицы A(5,5) и заменить все элементы строки и столбца, в котором он находится, числом K.
Большое спасибо за помощь!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.03.2011, 00:53
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Матрицы, алгоритм поиска (C++):

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

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

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

Алгоритм поиска - C++
есть ли в STL алгоритм принимающий упорядоченный интервал и проверяющий, содержит ли данный интервал последовательность из N элементов,...

Алгоритм поиска А* - C++
Помогите написать код на с++,реализирующий алгоритм поиска А*, пожалуйста. ...

Алгоритм поиска в ширину - C++
Подскажите, пожалуйста, алгоритм поиска в ширину в неориентированном графе

6
vitaska
85 / 85 / 2
Регистрация: 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
qheff
0 / 0 / 0
Регистрация: 26.03.2011
Сообщений: 24
26.03.2011, 13:23  [ТС] #3
vitaska
Большое вам спасибо! Сейчас буду сравнивать со своими наработками.
0
vitaska
85 / 85 / 2
Регистрация: 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
qheff
0 / 0 / 0
Регистрация: 26.03.2011
Сообщений: 24
26.03.2011, 14:04  [ТС] #5
vitaska
И так спасибо. Только по поводу первого мне кажется что надо просто сравнить 3 числа.
0
neske
1502 / 869 / 84
Регистрация: 26.03.2010
Сообщений: 2,983
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
vitaska
85 / 85 / 2
Регистрация: 04.02.2010
Сообщений: 162
26.03.2011, 14:32 #7
Пожалуйста
1
26.03.2011, 14:32
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.03.2011, 14:32
Привет! Вот еще темы с ответами:

Алгоритм поиска в глубину - C++
Мне нужен сам алгоритм, как программа на С ++, желательно с пояснениями к строкам. Может кто-то помочь написать?

Алгоритм поиска в ширину - C++
Вот тут нашел реализацию алгоритма поиска в ширину кратчайших расстояний в графе. По идее расстояния должны храниться в массиве d, но ответ...

Алгоритм последовательного поиска - C++
Добрый вечер. Уважаемые программисты! Прекрасно понимаю, что задаю элементарные вопросы, но не имею представления, что делать вот с таким...

Алгоритм поиска в матрице - C++
Народ, если поможете, буду вообще супер благодарен. Задание такое:&quot;Найти квадрат максимальной площади в матрице и выписать координаты его...


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

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

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