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

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

Войти
Регистрация
Восстановить пароль
 
Инна96
Заблокирован
#1

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

01.04.2014, 17:57. Просмотров 598. Ответов 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;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.04.2014, 17:57
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Заполнение матрицы через рандом. (C++):

неверное заполнение матрицы через rand - C++
матрица заполняется каким либо одним числом, в чем проблема? #include&lt;stdio.h&gt; #include&lt;cstdlib&gt; const int N=7; int main() { ...

заполнение массива через rand и вывод на экран через указатели - C++
Учитель задал заполнить массивы и случайными числами и вывезти на экран через указатели, через функцию rand выводит как вы понимаете одни...

Заполнение матрицы - C++
Добрый вечер всем! Мне нужно сделать, чтобы матрица заполнялась по спирали (с первого элемента по часовой стрелке внутрь). Матрица...

Заполнение матрицы - C++
Нужна помощь. Заполнить матрицу, от левого нижнего угла по диагонали: слева - вверх. -размерность матрицы должна вводиться при...

Заполнение матрицы - C++
Дана Матрица 9х9 нужно заполнить ее числами от 1 до 81 по такой схеме:

Заполнение матрицы! - C++
Не могу вывести матрицу...то есть вначале её ввести а потом вывести,или я что-то не так делаю? мой код: #include &lt;iostream&gt; ...

1
Warburton
0 / 0 / 0
Регистрация: 25.03.2014
Сообщений: 16
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;
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.04.2014, 18:05
Привет! Вот еще темы с ответами:

Заполнение матрицы - C++
Ребята, добрый вечер. Ломаю голову над заполнением матрицы по следующей картинке (приложено). Может быть вы окажетесь более...

Заполнение матрицы - C++
Существует матрица n*m и отдельная функция для ввода input. В main я написал: float B; input(B); А в функции ввода: for (int...

Заполнение матрицы - C++
Есть программа, которая запрашивает у пользователя размер матрицы, а потом заполняет ее случайными числами. Так вот, моя программы при...

Заполнение матрицы - C++
Матрица содержит четное количество строк и столбцов. Заполнить каждый квадрат матрицы размером 2х2 порядковыми номерами по часовой стрелке....


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

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

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