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

Даны три квадратные матрицы. Сформировать вектор, состоящий из минимальных элементов каждой матрицы, отличных от нуля - C++

Восстановить пароль Регистрация
 
fanat9966
6 / 6 / 0
Регистрация: 22.05.2013
Сообщений: 12
29.05.2013, 22:26     Даны три квадратные матрицы. Сформировать вектор, состоящий из минимальных элементов каждой матрицы, отличных от нуля #1
Даны три квадратные матрицы. Сформировать вектор, состоящий из минимальных элементов каждой матрицы, отличных от нуля. Поиск минимального элемента выполнить в виде процедуры
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.05.2013, 22:26     Даны три квадратные матрицы. Сформировать вектор, состоящий из минимальных элементов каждой матрицы, отличных от нуля
Посмотрите здесь:

C++ Даны три квадратные матрицы
даны три кв. матрицы, нужен вектор C++
Сформировать вектор, состоящий из максимальных элементов каждого столбца (строки) матрицы C++
C++ Сформировать вектор, состоящий из максимальных элементов каждого столбца (строки) матрицы
C++ Даны две действительные квадратные матрицы порядка n. Получить новую матрицу: путем умножения элементов каждой строки первой матрицы на наибольшее из
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
3Doleg
40 / 40 / 15
Регистрация: 22.10.2012
Сообщений: 217
01.06.2013, 12:08     Даны три квадратные матрицы. Сформировать вектор, состоящий из минимальных элементов каждой матрицы, отличных от нуля #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
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
#include "stdio.h"
#include "stdlib.h"
#include "conio.h"
#include "time.h"
#include "math.h"
#define n 5
 
void init(int mass[])
{
    int i;
    for (i = 0; i < n; i++)
    mass[i] = rand() % 200 - 101;
}
 
void outPut(int mass[])
{
    int i;
    for (i = 0; i < n; i++)
    printf("%d ", mass[i]);
    
    printf("\n");
}
 
void maxi(int mass[])
{
    int i, m = 1;
    for (i = 0; i < n; i++)
    if (mass[i] % 2 == 0 && mass[i] > mass[m])
    m = i;
    printf("max element = %i",mass[m]);
    printf(" na %d pozucii", m + 1);
}
 
void sort(int mass[])
{
    int i, j, tmp;
    for(i = 0 ; i < n ; i++) 
    { 
        for(j = 0 ; j < n - i - 1 ; j++)     /* сравниваем два соседних элемента.*/
    {  
           if(mass[j] > mass[j+1])  /* если они идут в неправильном порядке, то меняем их местами. */
       {           
           tmp = mass[j];
       mass[j] = mass[j+1];
       mass[j+1] = tmp; 
        }
        }
        }
    
}
 
main()
{
    int a[n], b[n], c[n];
    
    srand(time(NULL));
 
    printf("\n");
 
    init(a);
    printf("\nmassuv A: ");
    outPut(a);  maxi(a);    sort(a);
    printf("\nvidsortovanui massuv: A\n");
    outPut(a);
 
    init(b);
    printf("\nmassuv B: ");
    outPut(b);  maxi(b);    sort(b);
    printf("\nvidsortovanui massuv: B\n");
    outPut(b);
 
    init(c);
    printf("\nmassuv C: ");
    outPut(c);  maxi(c);    sort(c);
    printf("\nvidsortovanui massuv: C\n");
    outPut(c);
 
    getch();
}
3Doleg
40 / 40 / 15
Регистрация: 22.10.2012
Сообщений: 217
02.06.2013, 16: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
#include "stdio.h"
#include "stdlib.h"
#include "conio.h"
#include "time.h"
#include "math.h"
#define n 5
 
void init(int mass[], int s)
{
    int i;
    for (i = 0; i < s; i++)
    mass[i] = rand() % 200 - 101;
}
 
void outPut(int mass[], int s)
{
    int i;
    for (i = 0; i < s; i++)
    printf("%d ", mass[i]);
    
    printf("\n");
}
 
int mnm(int mass[], int s)
{
    int i, min = abs(mass[0]);
    for (i = 1; i < s; i++)
    if (abs(mass[i]) < min && mass[i] != 0)
    min = abs(mass[i]);
    return min;
}
 
main()
{
    int a[n], b[n], c[n], d[n], i, s;
    srand(time(NULL));
 
    printf("\nvvedit rozmir 1 masuva : \n");
    scanf("%d",&s);
    init(a, s);
 
    printf("\nmassuv 1: \n ");
    outPut(a, s);
    d[1] = mnm(a, s);
 
    printf("\nvvedit rozmir 2 masuva : \n");
    scanf("%d",&s);
    init(b, s);
    
    printf("\nmassuv 2: \n ");
    outPut(b, s);
    d[2] = mnm(b, s);
 
    printf("\nvvedit rozmir 3 masuva : \n");
    scanf("%d",&s);
    init(c, s);
    
    printf("\nmassuv 3: \n ");
    outPut(c, s);
    d[3] = mnm(c, s);
 
    printf("\n otrumanui vektor (D): \n");
    for (i = 1; i <= 3; i++)
    printf("| %i | _ ",d[i]);
    getch();
    exit(0);
}
MarVaL
С++ Beginner
 Аватар для MarVaL
116 / 116 / 16
Регистрация: 28.02.2013
Сообщений: 246
02.06.2013, 17:18     Даны три квадратные матрицы. Сформировать вектор, состоящий из минимальных элементов каждой матрицы, отличных от нуля #4
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
92
93
94
95
96
#include <iostream>
#include <ctime>
#include <cstdlib>
#include <iomanip>
 
const int vecSize = 3;
 
int** createMatrix(int, int);
int* createVector(int);
void showMatrix(int **, int, int);
void showVector(int *);
void fillMatrix(int **, int, int);
void deleteMatrix(int **, int);
int getMinElement(int **, int, int);
 
int main() {
  srand(time(0));
  int **A, **B, **C, n, m, min_a, min_b, min_c;
  std::cout << "n = ";
  std::cin >> n;
  std::cout << "m = ";
  std::cin >> m;
  A = createMatrix(n, m);
  B = createMatrix(n, m);
  C = createMatrix(n, m);
  fillMatrix(A, n, m);
  fillMatrix(B, n, m);
  fillMatrix(C, n, m);
  std::cout << "A:\n";
  showMatrix(A, n, m);
  std::cout << "\nB:\n";
  showMatrix(B, n, m);
  std::cout << "\nC:\n";
  showMatrix(C, n, m);
  
  min_a = getMinElement(A, n, m);
  min_b = getMinElement(B, n, m);
  min_c = getMinElement(C, n, m);
  
  int* vector = createVector(vecSize);
  vector[0] = min_a;
  vector[1] = min_b;
  vector[2] = min_c;
  
  std::cout << std::endl << "Vector: ";
  showVector(vector);
  return 0;
}
 
 
int** createMatrix(int n, int m) {
  int **matr = new int*[n];
  for(int i = 0; i < n; ++i)
    matr[i] = new int[m];
  return matr;
}
 
void fillMatrix(int **matr, int n, int m) {
  for(int i = 0; i < n; ++i)
    for(int j = 0; j < m; ++j)
      matr[i][j] = 1 + rand() % 99;
}
 
void showMatrix(int **matr, int n, int m) {
  for(int i = 0; i < n; ++i) {
    for(int j = 0; j < m; ++j)
     std::cout << std::setw(5) << matr[i][j];
    std::cout << std::endl;
  }
}
 
void deleteMatrix(int **matr, int n) {
  for(int i = 0; i < n; ++i)
    delete[] matr[i];
  delete[] matr;
}
 
int getMinElement(int **matr, int n, int m) {
  int min = matr[0][0];
  for(int i = 0; i < n; ++i) {
    for(int j = 0; j < m; ++j)
      if(min > matr[i][j])
        min = matr[i][j];
  }
  return min;
}
 
int* createVector(int n) {
  int *vector = new int[n];
  return vector;
}
 
void showVector(int* vector) {
  for(int i = 0; i < vecSize; ++i)
    std::cout << vector[i] << ' ';
}
Yandex
Объявления
02.06.2013, 17:18     Даны три квадратные матрицы. Сформировать вектор, состоящий из минимальных элементов каждой матрицы, отличных от нуля
Ответ Создать тему
Опции темы

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