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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Подсчитать слова, состоящие из латинских прописных букв. http://www.cyberforum.ru/cpp-beginners/thread214412.html
int main(int argc, char* argv) { int cnt=0, i; char *str="I can use the online Help system from the Help menu."; for (i=1; strlen(str); i++) if (str in ) cnt++; printf("Stroka = %s", str);...
C++ Функции и строки Помогите плз написать программу с функцией, формирующей строку-результат путем вставки после каждого символа исходной строки указанного символа. Память под строку-результат выделить в функции.... http://www.cyberforum.ru/cpp-beginners/thread214406.html
Напишите хеш-функцию, реализующую метод свертки (folding) C++
Напишите хеш-функцию, реализующую метод свертки (folding), который заключается в разбиении ключа на несколько частей, которые затем комбинируются так, чтобы получилось меньшее число. Полученное число...
C++ Работа с двумерными массивами
прошу помочь с кодом такой задачи: Вводятся начальные и конечные координаты положения шахматного коня (x1, y1, x2, y2), написать программу, определяющую за сколько ходов конь переместиться в...
C++ Использование динамических массивов http://www.cyberforum.ru/cpp-beginners/thread214393.html
Помогите, пожалуйста. Надо выполнить задание, используя динамические массивы В массиве с четным количеством элементов (2N) находятся координаты N точек плоскости. Они располагаются в порядке...
C++ Немного подправить код Друзья, помогите, программа почему то сразу вылетает #include <iostream> #include <exception> #include <stdexcept> #include <cstdlib> #include <ctime> #include <vcl.h> using namespace std; подробнее

Показать сообщение отдельно
Kastaneda
Jesus loves me
Эксперт С++
4689 / 2893 / 236
Регистрация: 12.12.2009
Сообщений: 7,355
Записей в блоге: 2
Завершенные тесты: 1
23.12.2010, 15:00
Могу поделится таким вот кодом (там даже коментарии есть)), думаю вам несложно будет его переделать под свою задачу.\
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
//Сформировать матрицу B(m, n), элементами которой являются случайные
//числа, равномерно распределенные в интервале [-5,5]. Переставляя ее
//строки и столбцы, добиться того, чтобы наибольший элемент матрицы
//оказался в правом нижнем углу.
//////////////////////////////////////////////////////////////////////////
#include<iostream>
#include<ctime>
using namespace std;
void gen_random(int[][6]);//ф-ция для заполнения двумерног массива случайными числами
const int n=5;//константы для размера матрицы
const int m=6;
int main(){
    setlocale( LC_ALL,"Russian" );
    int matrix[n][m];//двумерный массив - т.е. матрица n*m
    gen_random(matrix);//заполняем матрицу
    int a,b, max=matrix[0][0];
    for(int i=0;i<n;i++)//находим максимальный элемент и его координаты в матрице
        for(int j=0;j<m;j++)//двойной цикл, т.к. массив двумерный
            if(matrix[i][j]>max){//если элемент матрицы больше максималького
                max=matrix[i][j];//то максимальным делаем этот элемент
                a=i;//и запоминаем его координаты
                b=j;
            }
    cout<<"Матрица до преобразования:"<<endl;
           for(int i=0;i<n;i++){//вывод содержимого матрицы 
        for(int j=0;j<m;j++)
            cout<<matrix[i][j]<<"   ";
        cout<<endl;
    }
    for(int i=0;i<m;i++){//в цикле меняем местами первый столбец и столбец с максимальным элементом
        int tmp=matrix[i][0];
        matrix[i][0]=matrix[i][b];
        matrix[i][b]=tmp;
    }
    for(int i=0;i<n;i++){//меняем местами последний ряд, и ряд с максимальным элементом
        int tmp=matrix[n-1][i];//таким образом максимальный элемент оказывается 
        matrix[n-1][i]=matrix[a][i];//в правом нижнем углу , как и нужно по заданию
        matrix[a][i]=tmp;
    }
    cout<<"Матрица после преобразования:"<<endl;
    for(int i=0;i<n;i++){
        for(int j=0;j<m;j++)
            cout<<matrix[i][j]<<"   ";
        cout<<endl;
    }
    system("pause");
    return 0;
}
void gen_random(int matr[][6]){//заполняем двумерный массив случайными числами
    srand(time(NULL));
    for(int i=0;i<n;i++)
        for(int j=0;j<m;j++)
            matr[i][j]=rand()%11-5;//эта конструкция заполняет массив числами от -5 до 5
}
2
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru