Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
0 / 0 / 0
Регистрация: 20.10.2013
Сообщений: 13
1

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

05.11.2013, 23:22. Просмотров 921. Ответов 8
Метки нет (Все метки)

Дана задача.

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

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

Заранее спасибо
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.11.2013, 23:22
Ответы с готовыми решениями:

Преобразовать строку по указанному правилу
Помогите с программкой. Данная строка символов S. Преобразовать строку , заменив : а )...

Преобразовать строку, заменив в ней каждую точку многоточием
1. Дана строка символов. Преобразовать строку, заменив в ней каждую точку многоточием.

Преобразовать данную строку заменив каждую точку многоточием
1.Даны натуральное число n и символы S1, …, Sn (строка). Преобразовать данную строку, заменив в ней...

Преобразовать строку, удалив из нее каждую пару символов ‘<<’ и повторив каждую пару символов ‘>>’.
В веденной пользователем строке, найти все вхождения подстроки и заменить ее на другую. Прошу...

8
267 / 255 / 27
Регистрация: 27.09.2013
Сообщений: 876
Записей в блоге: 1
05.11.2013, 23:24 2
Андрей_Карпов, ну выкладывайте код, посмотрим, как пытались решить задачу
0
0 / 0 / 0
Регистрация: 20.10.2013
Сообщений: 13
05.11.2013, 23:32  [ТС] 3
у меня сейчас ни кода ни проги.всё улетело в прекрасное далёко.
0
267 / 255 / 27
Регистрация: 27.09.2013
Сообщений: 876
Записей в блоге: 1
05.11.2013, 23:35 4
Андрей_Карпов,

Не по теме:

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

1
0 / 0 / 0
Регистрация: 20.10.2013
Сообщений: 13
05.11.2013, 23:43  [ТС] 5
лучше бы собака.вирусов наловил.пришлось менять винду и полностью винт форматировать
0
267 / 255 / 27
Регистрация: 27.09.2013
Сообщений: 876
Записей в блоге: 1
05.11.2013, 23:59 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;
}
2
0 / 0 / 0
Регистрация: 20.10.2013
Сообщений: 13
06.11.2013, 00:05  [ТС] 7
обьясни пожалуйста программу.что где...Заранее спасибо
0
267 / 255 / 27
Регистрация: 27.09.2013
Сообщений: 876
Записей в блоге: 1
06.11.2013, 00:11 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, где хранится количество строк, где пришлось что то менять
2
1 / 1 / 1
Регистрация: 01.11.2013
Сообщений: 13
06.11.2013, 02:28 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;
}
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.11.2013, 02:28

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Преобразовать двумерный массив в одномерный, удаляя каждую вторую строку
Подскажите пожалуйста как 2D массив преобразовать в 1D, при этом удаляя каждую 2рую строку....

Преобразовать заданную прямоугольную матрицу, упорядочив каждую строку по неубыванию элементов
Дана матрица размера mxn. Преобразовать ее,упорядочив каждую строку по неубыванию элементов....

Преобразовать матрицы по заданному правилу
Даны целые массивы А, B и значения R и F. Каждый массив преобразовать по правилу: компоненты с...

Преобразовать строку, заменив в ней каждую из групп стоящих рядом точек одной точкой.
Здравствуйте. помогите составить программу. Дана строка символов. Преобразовать ее, заменив в ней...


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

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

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