Форум программистов, компьютерный форум CyberForum.ru

Заполнение матрицы через рандом. - C++

Восстановить пароль Регистрация
 
Инна96
Заблокирован
01.04.2014, 17:57     Заполнение матрицы через рандом. #1
Помогите, пожалуйста, вывести матрицу через рандом

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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
#include "stdafx.h"
#include <iostream>
#include <time.h>
using namespace std; // 
 
void print_mat(int* mat, int nk, int mk)
{
    int i = 0, j = 0;
    for (i = 0; i < nk; i++)
    {
        for (j = 0; j < mk; j++)
            cout << *(mat + i*mk + j) << ' ';
        cout << endl;
    }
}
// процедура виведення двохвимірного масиву
void input_mat(int* mat, int nk, int mk)
{
    int i = 0, j = 0;
    for (i = 0; i < nk; i++)
    {
        for (j = 0; j < mk; j++)
            cin >> *(mat + i*mk + j);
    }
}
 
int max_mat(int* mat, int nk, int mk, int *indmax)
{
    int i = 0, j = 0;
    int max = *(mat + i*nk + j);
    for (i = 0; i < nk; i++)
    {
        for (j = 0; j < mk; j++)
        if (max<*(mat + i*mk + j))
        {
            max = *(mat + i*mk + j);
            *indmax = i;
        }
    }
    return max;
}
 
int min_mat(int* mat, int nk, int mk, int *indmin)
{
    int i = 0, j = 0;
    int min = *(mat + i*nk + j);
    for (i = 0; i < nk; i++)
    {
        for (j = 0; j < mk; j++)
            if (min>*(mat + i*mk + j))
        {
            min = *(mat + i*mk + j);
            *indmin = i;
        }
    }
    return min;
}
 
void zam_rjd_mat(int* mat, int nk, int mk, int inds, int indk)
{
    int j = 0, V = 0;
    for (j = 0; j < mk; j++)
    {
        V = *(mat + inds*mk + j);
        *(mat + inds*mk + j) = *(mat + indk*mk + j);
        *(mat + indk*mk + j) = V;
    }
}
//
int main()
{
    setlocale(LC_ALL, "ukr");
    const int n = 4, m = 5;
    int A[n][m] = { 0 };
    int MaxI, MinI, Max, Min;
    printf("Введіть матрицю A(%d,%d)\n", n, m);
    input_mat(&A[0][0], n, m);
    printf("Задана матриця: A(%d,%d)\n", n, m);
    print_mat(&A[0][0], n, m);
    //
    MinI = 0;
    MaxI = 0;
    Min = min_mat(&A[0][0], n, m, &MinI);
    Max = max_mat(&A[0][0], n, m, &MaxI);
    zam_rjd_mat(&A[0][0], n, m, MinI, MaxI);
    //
    printf("Перетворена матриця A(%d,%d) : \n", n, m);
    print_mat(&A[0][0], n, m);
    printf("Min = %d, номер рядка з min елементом = %d \n Max = %d, номер рядка з мах елементом = %d \n ", Min, 1 + MinI, Max, 1 + MaxI);
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.04.2014, 17:57     Заполнение матрицы через рандом.
Посмотрите здесь:

Заполнение матрицы C++
Заполнение матрицы C++
Заполнение матрицы C++
C++ Заполнение матрицы
Заполнение матрицы C++
C++ Заполнение матрицы
C++ Заполнение матрицы
C++ неверное заполнение матрицы через rand

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Warburton
0 / 0 / 0
Регистрация: 25.03.2014
Сообщений: 13
01.04.2014, 18:05     Заполнение матрицы через рандом. #2
C++
1
mass[i][j]=(double) (rand()%100 - 50)/10;
я таким способом забивал матрицу рандомными вещественными числами, если Вам нужны целые, то
C++
1
mass[i][j]=(int) (rand()%100 - 50)/10;
Yandex
Объявления
01.04.2014, 18:05     Заполнение матрицы через рандом.
Ответ Создать тему
Опции темы

Текущее время: 13:51. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru