С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
Андрей_Карпов
0 / 0 / 0
Регистрация: 20.10.2013
Сообщений: 13
#1

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

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

Дана задача.

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

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

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

Преобразовать строку по указанному правилу - C++
Помогите с программкой. Данная строка символов S. Преобразовать строку , заменив : а ) каждую точку многоточием (т.е. тремя...

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

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

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

Строки. Преобразовать строку, заменяя каждую цифру соответствующим ей числом символов нижнего подчеркивания - C++
Нужно преобразовать строку, заменяя каждую цифру соответствующим ей числом символов нижнего подчеркивания. Например: «3 слона» -&gt; «_ _...

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

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

Не по теме:

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

1
Андрей_Карпов
0 / 0 / 0
Регистрация: 20.10.2013
Сообщений: 13
05.11.2013, 23:43  [ТС] #5
лучше бы собака.вирусов наловил.пришлось менять винду и полностью винт форматировать
0
Folko
265 / 253 / 7
Регистрация: 27.09.2013
Сообщений: 877
Записей в блоге: 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;
}
1
Андрей_Карпов
0 / 0 / 0
Регистрация: 20.10.2013
Сообщений: 13
06.11.2013, 00:05  [ТС] #7
обьясни пожалуйста программу.что где...Заранее спасибо
0
Folko
265 / 253 / 7
Регистрация: 27.09.2013
Сообщений: 877
Записей в блоге: 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, где хранится количество строк, где пришлось что то менять
1
pleshevskiy
1 / 1 / 0
Регистрация: 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
06.11.2013, 02:28
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.11.2013, 02:28
Привет! Вот еще темы с ответами:

Преобразовать строку заменой букв латинского алфавита со смешением h=4, каждую последнюю букву слова оставить - C++
Преобразовать строку заменой букв латинского алфавита со смешением h=4, каждую последнюю букву слова оставить неизменной.

Упорядочить каждую строку матрицы - C++
Необходимо создать 2-мерный динамический массив целых чисел, заполняемый элементами с клавиатуры. Затем вывести массив на экран. (В виде...

Каждую строку матрицы умножить на случайное число - C++
Нужно каждую строку умножить на случайное число. В этом месте: &quot; array*f; &quot; выдает ошибку :&quot; expression must have pointer-to-object type...

Каждую строку матрицы умножить на случайное число - C++
Язык С++ • Создать функцию, которая на вход принимает одномерный массив. Из одномерного массива размером M x N элементов создается...


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

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

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