Михаил911
1

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

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

Author24 — интернет-сервис помощи студентам
Заполнить матрицу случайными числами. Развернуть матрицу на 90o против часовой стрелки.
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.03.2010, 22:53
Ответы с готовыми решениями:

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

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

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

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

3
This party getting crazy!
78 / 64 / 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
21 / 21 / 7
Регистрация: 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
Эксперт JavaЭксперт С++
8384 / 3616 / 419
Регистрация: 03.07.2009
Сообщений: 10,709
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
31.03.2010, 00:07
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
31.03.2010, 00:07
Помогаю со студенческими работами здесь

Заполнить матрицу случайными числами
Подскажите, пожалуйста, как заполнить матрицу случайными числами от 50 до -50. МАТРИЦА cout...

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

Заполнить матрицу случайными числами
Не понимаю тут как работает Основная программа: #include &lt;iostream&gt; #include &quot;Matrix.h&quot; ...

Заполнить матрицу случайными числами
Помогите найти ошибку, при компиляции выводит просто 1. #include &quot;stdlib.h&quot; #include &quot;time.h&quot;...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru