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

Каждую строку матрицы Z(5,4) преобразовать по правилу - C++

Восстановить пароль Регистрация
 
Андрей_Карпов
0 / 0 / 0
Регистрация: 20.10.2013
Сообщений: 13
05.11.2013, 23:22     Каждую строку матрицы Z(5,4) преобразовать по правилу #1
Дана задача.

Каждую строку матрицы Z(5,4) преобразовать по правилу: если максимальный элемент не первый, то поменять его местом с первым. Вывести количество таких строк, исходную и преобразованную матрицы

Напишите пожалуйста программу с двумерным массивом в visual c++.

Заранее спасибо
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.11.2013, 23:22     Каждую строку матрицы Z(5,4) преобразовать по правилу
Посмотрите здесь:

Дана квадратная матрица порядка m. Преобразовать матрицу по правилу: строку с номером сделать столбцом с номером n, а столбец с номером n - строкой с C++
C++ Отсортировать каждую строку матрицы по убыванию элементов методом пузырька
C++ Упорядочить каждую строку матрицы по возрастанию абсолютных величин
C++ Строки. Преобразовать строку, заменяя каждую цифру соответствующим ей числом символов нижнего подчеркивания
Преобразовать строку, заменив в ней каждую из групп стоящих рядом точек одной точкой. C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Folko
 Аватар для Folko
265 / 253 / 7
Регистрация: 27.09.2013
Сообщений: 877
Записей в блоге: 1
05.11.2013, 23:24     Каждую строку матрицы Z(5,4) преобразовать по правилу #2
Андрей_Карпов, ну выкладывайте код, посмотрим, как пытались решить задачу
Андрей_Карпов
0 / 0 / 0
Регистрация: 20.10.2013
Сообщений: 13
05.11.2013, 23:32  [ТС]     Каждую строку матрицы Z(5,4) преобразовать по правилу #3
у меня сейчас ни кода ни проги.всё улетело в прекрасное далёко.
Folko
 Аватар для Folko
265 / 253 / 7
Регистрация: 27.09.2013
Сообщений: 877
Записей в блоге: 1
05.11.2013, 23:35     Каждую строку матрицы Z(5,4) преобразовать по правилу #4
Андрей_Карпов,

Не по теме:

собака съела?

Андрей_Карпов
0 / 0 / 0
Регистрация: 20.10.2013
Сообщений: 13
05.11.2013, 23:43  [ТС]     Каждую строку матрицы Z(5,4) преобразовать по правилу #5
лучше бы собака.вирусов наловил.пришлось менять винду и полностью винт форматировать
Folko
 Аватар для Folko
265 / 253 / 7
Регистрация: 27.09.2013
Сообщений: 877
Записей в блоге: 1
05.11.2013, 23:59     Каждую строку матрицы Z(5,4) преобразовать по правилу #6
Андрей_Карпов, не очень верится, что программист не помнит свою программу, но ок, помогу разок) Ща кину код.

Добавлено через 10 минут
Андрей_Карпов,
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
#include "stdafx.h"
#include <iostream>
#include <iomanip>
 
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{
    int z[5][4];
    for (int i = 0; i < 5; i++)
        for (int j = 0; j < 4; j++)
            z[i][j] = rand()%10;
    int t = 0;
    cout << "New Array:" << endl;
    for (int i = 0; i < 5; i++)
    {
        for (int j = 0; j < 4; j++) cout << setw(3) << z[i][j];
        cout << endl;
    }
    for (int i = 0; i < 5; i++)
    {
        int max = 0;
        for (int j = 1; j < 4; j++)
            if (z[i][max] < z[i][j]) max = j;
        if (max > 0)
        {
            swap(z[i][max],z[i][0]);
            t++;
        }
    }
    cout << "New Array:" << endl;
    for (int i = 0; i < 5; i++)
    {
        for (int j = 0; j < 4; j++) cout << setw(3) << z[i][j];
        cout << endl;
    }
    cout << endl << "T = " << t << endl;
    system("pause");
    return 0;
}
Андрей_Карпов
0 / 0 / 0
Регистрация: 20.10.2013
Сообщений: 13
06.11.2013, 00:05  [ТС]     Каждую строку матрицы Z(5,4) преобразовать по правилу #7
обьясни пожалуйста программу.что где...Заранее спасибо
Folko
 Аватар для Folko
265 / 253 / 7
Регистрация: 27.09.2013
Сообщений: 877
Записей в блоге: 1
06.11.2013, 00:11     Каждую строку матрицы Z(5,4) преобразовать по правилу #8
Андрей_Карпов,
C++
1
2
3
4
int z[5][4];
    for (int i = 0; i < 5; i++)
        for (int j = 0; j < 4; j++)
            z[i][j] = rand()%10;
В этом куске кода творятся и объявляются массивы, и каждая из бесчисленных его ячеек равна случайному значению от 0 до 9.

C++
1
2
3
4
5
6
cout << "New Array:" << endl;
    for (int i = 0; i < 5; i++)
    {
        for (int j = 0; j < 4; j++) cout << setw(3) << z[i][j];
        cout << endl;
    }
В этой части массив вылазит всей своей необъятной двумерной тушей на черную поверхность консоли. И, само собой, форматируется, что бы выглядеть более презентабельно

C++
1
2
3
4
5
6
7
8
9
10
11
for (int i = 0; i < 5; i++)
    {
        int max = 0;
        for (int j = 1; j < 4; j++)
            if (z[i][max] < z[i][j]) max = j;
        if (max > 0)
        {
            swap(z[i][max],z[i][0]);
            t++;
        }
    }
Вот в этой части быстрые, как мангусты на выпасе, по массиву носятся переменные i и j и в каждой строке ищут максимальный элемент. Если первый элемент строки не максимальный, его свергают!

C++
1
2
3
4
5
6
7
cout << "New Array:" << endl;
    for (int i = 0; i < 5; i++)
    {
        for (int j = 0; j < 4; j++) cout << setw(3) << z[i][j];
        cout << endl;
    }
    cout << endl << "T = " << t << endl;
А тут и сказочке конец... Выводится измененный массив и t, где хранится количество строк, где пришлось что то менять
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.11.2013, 02:28     Каждую строку матрицы Z(5,4) преобразовать по правилу
Еще ссылки по теме:

C++ Упорядочить каждую строку матрицы по возрастанию абсолютных величин
C++ вывести каждую 2-ю строку матрицы в обратном порядке
Преобразовать строку, удалив из нее каждую пару символов ‘<<’ и повторив каждую пару символов ‘>>’. C++

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

Или воспользуйтесь поиском по форуму:
pleshevskiy
1 / 1 / 0
Регистрация: 01.11.2013
Сообщений: 13
06.11.2013, 02:28     Каждую строку матрицы Z(5,4) преобразовать по правилу #9
дарю

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
#include <iostream>
#include <clocale>
 
using namespace std;
 
int main()
{
    setlocale(LC_ALL, "Russian");
    int s, i, j, z[5][4], x[5][4]; 
 
    cout << "Введите матрицу z: ";
    for (i = 0; i < 5; i++){
        for (j = 0; j < 4; j++)
        {
            cin >> z[i][j];
        }
    }
 
    for (s = i = 0; i < 5; i++) {
        for (int j = 0; j < 4; j++)
        {
            x[i][j] = z[i][j];
        }
 
        if (z[i][4] > z[i][0])
        {
            x[i][0] = z[i][4];
            x[i][4] = z[i][0];
            s += 1;
        }
    }
    cout << "Колличество строк" << s << endl;
    cout << "Исходная матрица:" << endl;
    for (i = 0; i < 5; i++){
        for (j = 0; j < 4; j++)
        {
            cout << z[i][j];
        }
        cout << endl;
    }
    cout << "Преобразованная матрица:" << endl;
    for (i = 0; i < 5; i++){
        for (j = 0; j < 4; j++)
        {
            cout << x[i][j];
        }
        cout << endl;
    }
    system("PAUSE");
    return 0;
}
Yandex
Объявления
06.11.2013, 02:28     Каждую строку матрицы Z(5,4) преобразовать по правилу
Ответ Создать тему
Опции темы

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