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

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

Войти
Регистрация
Восстановить пароль
 
Михаил911
Сообщений: n/a
#1

Заполнить матрицу случайными числами - C++

30.03.2010, 22:53. Просмотров 1174. Ответов 3
Метки нет (Все метки)

Заполнить матрицу случайными числами. Развернуть матрицу на 90o против часовой стрелки.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.03.2010, 22:53
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Заполнить матрицу случайными числами (C++):

Заполнить матрицу случайными числами. Вернуть матрицу на 90o по часовой стрелке - C++
Заполнить матрицу случайными числами. Вернуть матрицу на 90o по часовой стрелке.

Заполнить матрицу случайными числами. Развернуть матрицу на 90(градусов) против часовой стрелки - C++
Заполнить матрицу случайными числами. Развернуть матрицу на 90o против часовой стрелки

Заполнить матрицу 9x9 случайными числами. Отобразить матрицу симметрично относительно главной диагонали - C++
Заполнить матрицу случайными числами. Отобразить матрицу симметрично относительно главной диагонали

Заполнить матрицу случайными числами. Разбить матрицу на квадраты размером 3х3. В центре каждого квадрата поме - C++
Помогите пожалуйста есть некоторые мысли, ну успешного ответа нет :((( #include <iostream> #include <conio.h> #include <ctime> ...

Заполнить матрицу случайными числами - C++
Подскажите, пожалуйста, как заполнить матрицу случайными числами от 50 до -50. МАТРИЦА cout << "\nEnter rows size: "; cin...

Заполнить матрицу случайными числами - C++
Заполнить матрицу случайными числами. Показать главную и побочную диагонали симметрично относительно вертикальной оси.Помогите пожалуйста!!!

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Bloodykeeper
This party getting crazy!
78 / 74 / 1
Регистрация: 22.09.2009
Сообщений: 427
30.03.2010, 22:57 #2
вот те матрица, заполнишь рандомом сам.
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
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
int main() 
{
        
        int ** mas, i, j, m, temp;
        printf("Enter rule of matrix ") ;
        scanf ("%d", &m) ;
        mas=(int **)malloc(m*sizeof(int *)) ; //mas=new int*[n];
        for(i=0; i<m; i++)
                mas[i]=(int *)malloc(m*sizeof(int)) ; //mas[i]=new int[m];
        printf("Enter elements of array: ");
        for(i=0; i<m; i++)
                for(j=0; j<m; j++)
                {
                        printf("Element [%d][%d]= ",i,j);
                        scanf("%d", &mas[i][j]);
                }
        printf("First array:\n");
        for(i=0; i<m; i++)
        {
                for(j=0; j<m; j++)
                        printf("%d",mas[i][j]);
                printf("\n");
                
        }
        for(i=0; i<m*2; i++)
                for(j=i; j<m-i-1; j++)
                {
                        temp=mas[i][j];
                        mas[i][j]=mas[m-j-1][i];
                        mas[m-j-1][i]=mas[m-i-1][m-j-1];
                        mas[m-i-1][m-j-1]=mas[j][m-i-1];
                        mas[j][m-i-1]=temp;
                }
                
        printf("\nRecived array:\n");
        for(i=0; i<m; i++)
        {
                for(j=0; j<m; j++)
                        printf("%d",mas[i][j]);
                printf("\n");
        } 
  return 0;
}
0
ggmann
20 / 20 / 1
Регистрация: 06.10.2008
Сообщений: 173
30.03.2010, 23:07 #3
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
#include <iostream>
#include <conio.h>
//#include <time.h>
 
int* fillmatrix ( int *mass, int x, int y );
int* rotate_mat ( int *mass, int x, int y );
 
int main()
{
    int Width;
    int Height;
 
    std::cout << "Enter matrix Width:";   std::cin >> Width;    //зчитуємо ширину та
    std::cout << "Enter matrix Height:";  std::cin >> Height;   //висоту матриці
    int *mass1 = new int[Width*Height];
  
    int tmp;
    fillmatrix(mass1, Width, Height); //заповнюємо матрицю випадковиим числами
 
//////////////////////Rotate Matrix ////////////////////////
 
    std::cout << "=============================================";
   std::cout << "\nMatrix Befor rotate:" << std::endl;
     for (int i=0; i<Height;i++){
         std::cout << std::endl;
        for (int j=0; j<Width;j++)
            std::cout << "\t" << mass1[i*Width+j];
        std::cout << "\n";
    }
        std::cout << "=============================================";
 
////////////////GET Result of rotation///////////////////
    mass1 = rotate_mat (mass1, Width, Height);
    tmp = Height;
    Height = Width;
    Width = tmp;
////////////////////////////////////////////////////////
 
    std::cout << "Matrix After rotate:" << std::endl;
      for (int i=0; i<Height;i++){
          std::cout << std::endl;
        for (int j=0; j<Width;j++)
            std::cout << "\t" << mass1[i*Width+j];
        std::cout << "\n";
    }
    std::cout << "=============================================";
 
///////////////////// END ROTATE //////////////////////
 
 
    delete []mass1;
    delete []mass2;
    getch();
    return 0;
}
 
// Fill matrix by random integer elements ------------
 
int* fillmatrix(int *mass, int x, int y)
{
    // srand(time(NULL));
    for(int i=0;i<y;i++)
        for(int j=0;j<x;j++)
           mass[i*x+j] = i*x+j/*rand()%9*/;
    return mass;
}
//-----------------------------------------------------
 
//--- Rotate matrix on 90 -----------------------------
 
int* rotate_mat(int *mass, int x, int y)
{
    int* result = new int[y*x];
    int temp;
    int ind1, ind2;
    for (int i=0; i<y;i++)
    {
        for (int j=0; j<x;j++)
        {
            ind1 = i*x+j;
            ind2 = (x-j-1)*y+i;
            result[ind2] = mass[ind1];
        }
        std::cout << "\n";
    }
    return result;
}
вот еще как вариант, но только здесь 2мерный масив создан через одномерный.нашел старый код, мож переделать немного
0
M128K145
Эксперт С++
8288 / 3508 / 143
Регистрация: 03.07.2009
Сообщений: 10,706
31.03.2010, 00:07 #4
Для квадратной целочисленной матрицы
C++
1
2
3
        for (i ^= i; i < rowCount; ++i)
            for (j ^= j; j < columnCount; ++j)
                matr[i][j] = buf[j][rowCount - 1 - i];
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.03.2010, 00:07
Привет! Вот еще темы с ответами:

Заполнить матрицу случайными числами - C++
отобразить матрицу симметрично относительно главной диагонали

Как заполнить матрицу случайными числами? - C++
Здравствуйте! как можно заполнить матрицу 4*4 числами от 0..15 случайно?

Заполнить матрицу случайными числами. На побочной - C++
Заполнить матрицу случайными числами. На побочной диагонали разместить суммы элементов которые лежат на той той же строке и столбце.

Заполнить заданную матрицу случайными числами в указанном интервале - C++
Помогите написать, пожалуйста 2 программы на C++. Заполнить матрицу из 8 строк и 5 столбцов случайными числами в интервале и вывести...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
31.03.2010, 00:07
Ответ Создать тему
Опции темы

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