Использование в программе функций C++ [требует правки]

227
11 марта 2017, 03:55

Помогите, чтобы программа была написана с помощью функции с++

#include "iostream"
#include "ctime"
using std::endl;
using std::cout;
int main()
{
    srand(time(0));
    int matr[6][6] = { 0 };
    for (int i = 0; i < 6; i++)
    {
        for (int j = 0; j < 6; j++)
        {
            matr[i][j] = rand() % 10;
            cout << matr[i][j] << " ";
        }
        cout << endl;
    }
    cout << "\n\n";
    for (int i = 0; i < 6; i++)
    {
        int buf = matr[i][i];
        matr[i][i] = matr[i][5 - i];
        matr[i][5 - i] = buf;
    }
    for (int i = 0; i < 6; i++)
    {
        for (int j = 0; j < 6; j++)
            cout << matr[i][j] << " ";
        cout << endl;
    }
    system("pause");
    return 0;
}
Answer 1

Возможно вы имеете в виду вот что:

#include "iostream"
#include "ctime"
using namespace std;
void setRandValue(int matr[6][6]) {
    for (int i = 0; i < 6; i++){
        for (int j = 0; j < 6; j++){
            matr[i][j] = rand() % 10;
            cout << matr[i][j] << " ";
        } 
        cout << endl;
    }
}
void swapMatr(int matr[6][6]) {
    for (int i = 0; i < 6; i++){
        int buf = matr[i][i];
        matr[i][i] = matr[i][5 - i];
        matr[i][5 - i] = buf;
    }
}
void printMatr(int matr[6][6]) {
    for (int i = 0; i < 6; i++){
        for (int j = 0; j < 6; j++)
            cout << matr[i][j] << " ";
        cout << endl;
    }
}
int main() {
    int matr[6][6] = { 0 };
    setRandValue(matr);
    cout << "\n\n";
    swapMatr(matr);
    printMatr(matr);
    system("pause");
    return 0;
}
Answer 2

Вы имеете в виду замену

for (int i = 0; i < 6; i++)
{
    int buf = matr[i][i];
    matr[i][i] = matr[i][5 - i];
    matr[i][5 - i] = buf;
}

кодом

for (int i = 0; i < 6; i++)
{
    std::swap(matr[i][i],matr[i][5 - i]);
}

Или что-то иное?

И еще - а что именно вы хотите получить? ну просто чтоб убедиться, что программа делает то, что нужно...

Answer 3

Немного гибкий вариант:

#include <iostream>
#include <algorithm>
using namespace std;
const int a = 6;
const int b = 6;
typedef array< array< int, a>, b> arr_int;
template<typename t>
void init_array(arr_int& arr,const int& z)
{
    for(auto& i:arr){
        for_each(i.begin(),i.end(),[z](t& s){return s = rand()%z+1;});
    }
}
template<typename t>
void swaps(arr_int& mas)
{
    for(size_t i = 0; i < a; ++i){
        swap(mas[i][i],mas[i][5-i]);
    }
}
template<typename t>
void print(const arr_int& mas)
{
    for(auto& i:mas){
        for_each(i.cbegin(),i.cend(),[](const t& j){cout<<j<<' ';});
        cout<<endl;
    }
}
int main()
{
    arr_int mas;
    init_array<int>(mas,5);
    swaps<int>(mas);
    print<int>(mas);
    return 0;
 }
READ ALSO
обновление QTableView без записи в бд

обновление QTableView без записи в бд

Есть связка из QSqlTableModel и QTableViewВ программе я работаю с моделью

261
Использование std::find_if не для поиска

Использование std::find_if не для поиска

Сразу прощу прощения за такое туманное название, не знаю как в двух словах описать задачу

260
Nodemon не работает на Win7

Nodemon не работает на Win7

Хочу добиться перезапуска node при изменениях в файле

334
Почему не всплывает модальное окно?

Почему не всплывает модальное окно?

Есть сайт на wordpress и плагин видео плеера, построенный на основе библиотеки Magnific Popup когда на странице выводится в виде шорткода [sp_html5video] - все...

362