1 Востаннє редагувалося koala (15.04.2020 16:29:58)

Тема: допоможіть перефразувати існуюючий код з використанням функцій

поміняти місцями в матриці A(n, m) елементи рядків
та стовпчиків.


#include<iostream>
#include <ctime>
using namespace std;
int main() 

    {
        int const row = 9;
        int const column = 7;
        srand(time(NULL)); // ініціалізувавши генератор випадкових чисел.
        int a[row][column];
        // А далі робота як зі звичайним масивом.
        for (int і = 0; і < row; і++)
        {
            for (int j = 0; j < column; j++)
            {
                a[ і][j] = rand() % 10; // Кожен елемент випадковому числу від 0 до 9
                cout << a[ і][j] << " "; // Вивести елементи на консольку
            }
            cout << endl;
            int transpose[10][10];
            for (int і = 0; і < row; ++і)
                for (int q = 0; q < column; ++q) {
                    transpose[q][ і] = a[ і][q];
                }
            cout << "The trasnspose of the matrix is:" << endl;
            for (int і = 0; і < column; ++і) {
                for (int q = 0; q < row; ++q)
                    cout << transpose[ і][q] << " ";
                cout << endl;
            }
            return 0;
        }
    }

2

Re: допоможіть перефразувати існуюючий код з використанням функцій

Будь ласка, додавайте тег code (кнопка <>) навколо коду. Поки що я додав.

3 Востаннє редагувалося koala (15.04.2020 16:37:46)

Re: допоможіть перефразувати існуюючий код з використанням функцій

І так, цей код не компілюється. Принаймні на ideone. Кириличні символи в коді.

4

Re: допоможіть перефразувати існуюючий код з використанням функцій

#include<iostream>
#include <ctime>
using namespace std;
int main() 

    {
        int const row = 9;
        int const column = 7;
        srand(time(NULL)); // ініціалізувавши генератор випадкових чисел.
        int a[row][column];
        // А далі робота як зі звичайним масивом.
        for (int i = 0; i < row; i++)
        {
            for (int j = 0; j < column; j++)
            {
                a[i][j] = rand() % 10; // Кожен елемент випадковому числу від 0 до 9
                cout << a[i][j] << " "; // Вивести елементи на консольку
            }
            cout << endl;
            int transpose[10][10];
            for (int i = 0; i < row; ++i)
                for (int q = 0; q < column; ++q) {
                    transpose[q][i] = a[i][q];
                }
            cout << "The trasnspose of the matrix is:" << endl;
            for (int i = 0; i < column; ++i) {
                for (int q = 0; q < row; ++q)
                    cout << transpose[i][q] << " ";
                cout << endl;
            }
            return 0;
        }
    }

5

Re: допоможіть перефразувати існуюючий код з використанням функцій

koala написав:

І так, цей код не компілюється. Принаймні на ideone. Кириличні символи в коді.

це у нас так на першому курсі робили, замінювали латинську "a" на кириличну в назві функції "main", а потім казали викладачу, що воно чомусь не робе

Подякували: marta06, koala, leofun013

6

Re: допоможіть перефразувати існуюючий код з використанням функцій

але в мене таки спрацювало

1 3 5 6 7 7 8 
The trasnspose of the matrix is:
1 0 0 0 0 -2147483648 0 32608 6 
3 0 0 0 0 0 0 856839600 96 
5 0 2 0 0 0 0 32608 856904064 
6 0 0 0 0 0 0 856901408 32608 
7 0 14 0 2 0 0 32608 856904608 
7 0 -2147483648 0 0 0 0 856833168 32608 
8 0 0 0 14 0 856903104 32608 856904608 
Подякували: marta06, koala2

7 Востаннє редагувалося koala (15.04.2020 19:13:16)

Re: допоможіть перефразувати існуюючий код з використанням функцій

Марто, будь ласка, для початку - не економте на символах. Так, короткий опис кращий за довгий - але тільки тоді, коли він містить всю потрібну інформацію.
Ви бачите, що ваш код працює не так, як треба? Знаєте, чому це відбувається? Маєте якісь думки стосовно цього? Чи хочете ви, щоб ми так само абияк поділили цей (саме цей) код на функції, як ви його писали?
Можете написати словами, що має відбуватися в цьому циклі (в його тілі)?

        // А далі робота як зі звичайним масивом.
        for (int i = 0; i < row; i++)
Подякували: FakiNyan1