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

Дано матрицу A (3,4). Вывести номера столбцов и строк, где находится третий и пятый парные элементы этой матрицы - C++

Восстановить пароль Регистрация
 
maximuss
0 / 0 / 0
Регистрация: 24.04.2012
Сообщений: 148
17.01.2013, 23:40     Дано матрицу A (3,4). Вывести номера столбцов и строк, где находится третий и пятый парные элементы этой матрицы #1
Дано матрицу A (3,4). Вывести номера столбцов и строк, где находится третий и пятый парные элементы этой матрицы

Добавлено через 25 минут
По сути вот, но нужно немного подправить...Пожалуйста, если можете, помогите побыстрее :С
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
#include <iostream>
#include <conio.h>
#include <stdlib.h>
#include <time.h>
#include <iomanip>
#include <math.h>
#define N 3
#define M 4
 
using namespace std;
 
int main() {
    srand(time(NULL));
    int arr[N][M];
    cout << "Masiv:" << endl;
    for(int i=0; i<N; i++) {
            for(int j=0; j<M; j++) {
                    arr[i][j] = rand()%15;
                    cout << setw(5) << arr[i][j] << "  ";
            }
            cout << endl;
    }
    cout << endl << "Zmineniy masiv:" << endl;
    for(int i=0; i<N; i++) {
            for(int j=0; j<M; j++) {
                    if(arr[i][j] %2==0) {
                                 arr[i][j] = arr[i][j]; //как вывести третий и пятый парный эелемент?
                                 }
                    cout << setw(5) << arr[i][j] << "  ";
            }
            cout << endl;
    }
    getche();
}
Добавлено через 2 минуты
Парный - четный если что
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.01.2013, 23:40     Дано матрицу A (3,4). Вывести номера столбцов и строк, где находится третий и пятый парные элементы этой матрицы
Посмотрите здесь:

C++ Номера строк и столбцов всех седловых точек матрицы
Вывести номера столбцов, в которых находится более двух простых чисел C++
Visual Studio: Вывести номера столбцов матрицы, элементы которых образуют монотонно убывающую или монотонно возрастающую последовательность C++
Вывести матрицу B и из этой матрицы В вычесть единичную матрицу А C++
C++ Определить номера строк и столбцов всех седловых точек матрицы
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
TrueBit
 Аватар для TrueBit
95 / 95 / 12
Регистрация: 19.11.2012
Сообщений: 195
18.01.2013, 00:46     Дано матрицу A (3,4). Вывести номера столбцов и строк, где находится третий и пятый парные элементы этой матрицы #2
Если я правильно понял, что значит "парный" в данном случае и нужно найти четные эл-ты начиная с первой строки и цикл по строкам, и вывести из этого списка 3й и 5й по счету четные эл-ты, то вот:
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
#include <iostream>
#include <iomanip>
#include <ctime>
#define N 3
#define M 4
 
using namespace std;
int main() {
    srand((unsigned)time(NULL));
    int arr[N][M];
    int parn=0;
    cout << "Masiv:" << endl;
    for(int i=0; i<N; i++) {
        for(int j=0; j<M; j++) {
            arr[i][j] = rand()%10;
            cout << setw(5) << arr[i][j] << "  ";
        }
        cout << endl;
    }
    cout << endl << "Zmineniy masiv:" << endl;
    for(int i=0; i<N; i++) {
        for(int j=0; j<M; j++) {
            if(arr[i][j]%2==0) {
                parn++;
                if(parn==3 || parn==5)
                    cout << arr[i][j] << " "; //как вывести третий и пятый парный эелемент?
            }
            //cout << setw(5) << arr[i][j] << "  ";
        }
        //cout << endl;
    }
    cin.get();
}
maximuss
0 / 0 / 0
Регистрация: 24.04.2012
Сообщений: 148
18.01.2013, 00:59  [ТС]     Дано матрицу A (3,4). Вывести номера столбцов и строк, где находится третий и пятый парные элементы этой матрицы #3
Спасибо Вам огромное, очень благодарен.
asidorchenko
379 / 205 / 25
Регистрация: 09.04.2012
Сообщений: 635
19.01.2013, 09:11     Дано матрицу A (3,4). Вывести номера столбцов и строк, где находится третий и пятый парные элементы этой матрицы #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
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
#include <stdio.h>
#include <malloc.h> // malloc()/free()
#include <stdlib.h> // rand()
#include <time.h> // time()
 
 
// размерности матрицы
#define X 3
#define Y 4
 
// выделение памяти под матрицу
int** create_matrix(int x1, int y1)
{
 int i;
 int **m;
 m = (int **) malloc(x1 * sizeof(int*) );
 for(i=0;i<x1;i++)
 {
  m[i] = (int *) malloc(y1 * sizeof(int) );
 }
 return m;
}
 
// заполнение матрицы случайными числами
void rand_matrix(int** m, int x1, int y1)
{
 int i,j;
 srand(time(NULL));
 for(i=0;i<x1;i++)
 {
  for(j=0;j<y1;j++)
  {
    m[i][j] = rand()%9;
  }
 }
 
}
 
// вывод матрицы
void print_matrix(int** m, int x1, int y1)
{
 int i,j;
 for(i=0;i<x1;i++)
 {
  for(j=0;j<y1;j++)
  {
    printf("%d ", m[i][j]);
  }
  printf("\n");
 }
}
 
// Считаем, что парный элемент это элемент, 
// который встречается в матрице более 1 раза
 
void _f1(int** m, int x1, int y1)
{
 int m1[X*Y];
 int i, j, k,l;
 int en, f1, f2;
 int m1_i;
 int h;
 en = 0;
 m1_i = 0;
 for(i=0;i<x1;i++)
 {
  for(j=0;j<y1;j++)
  {
 
    // проверяем, есть ли в матрице аналогичный элемент
    f1 = 0; // флаг, показывающий, есть ли в матрице аналогичный элемент
    for(k=i;k<x1;k++)
    {
      for(l=j+1;l<y1;l++)
      {
        if(m[k][l] == m[i][j]) 
         f1 = 1;
      }
    }
 
    // если нашелся аналогичный элемент
    if (f1 == 1)
    {
      en++; //считаем номер элемента
      f2 = 0; // флаг, показывающий занесенли элемент в массив
      for(h=0;h<m1_i;h++)
      {
        if (m1[h] == m[i][j])
         f2 = 1; // если 1 значит элемент встречается в раз больше 2
      }
      // если элемента в массиве нет
      if (f2 == 0)
      {
       m1[m1_i] = m[i][j]; // заносим элемент в массив
       m1_i++; // счетчик количества элементов в массиве
       // элементов, встречающихся в матрице более 1 раза
      }
      f2 = 0; // обнуление флага
    }
    f1 = 0; // обнуление флага
  }
  ;
 }
 // вывод элементов, которые встречаются в матрице более 1 раза
 for(h=0;h<m1_i;h++)
 {
   printf("%d ", m1[h]);
 }
 printf("\n");
 
 // выводим 3 и 5 элементы, которые встречаются в матрице более 1 раза
 for(h=0;h<m1_i;h++)
 {
   if(h == 2 || h == 4) 
    for(i=0;i<x1;i++)
    {
     for(j=0;j<y1;j++)
     { 
       if ( m[i][j] == m1[h])
       {
        printf("i:%d j:%d\n", i, j);
       }
     }
    }
 }
 
}
 
 
 
int main()
{
 
int i;
int **m;
m = create_matrix(X, Y);
rand_matrix(m, X, Y);
print_matrix(m, X, Y);
_f1(m, X, Y);
 
// освобождение памяти выделенной под матрицу
for(i=0;i<X;i++)
 free(m[i]);
free(m);
 
return 0;
}
Yandex
Объявления
19.01.2013, 09:11     Дано матрицу A (3,4). Вывести номера столбцов и строк, где находится третий и пятый парные элементы этой матрицы
Ответ Создать тему
Опции темы

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