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

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

Войти
Регистрация
Восстановить пароль
 
maximuss
0 / 0 / 0
Регистрация: 24.04.2012
Сообщений: 148
#1

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

17.01.2013, 23:40. Просмотров 601. Ответов 3
Метки нет (Все метки)

Дано матрицу 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 минуты
Парный - четный если что
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.01.2013, 23:40
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Дано матрицу A (3,4). Вывести номера столбцов и строк, где находится третий и пятый парные элементы этой матрицы (C++):

Вывести номера строк матрицы, где все элементы одинаковы - C++
задана квадратная матрица порядка n(число, вводимое пользователем). Вывести номера строк где все элементы одинаковы.матрица вводится...

Вывести целочисленную матрицу из n строк и m столбцов и упорядочить ее элементы - C++
Помогите написать программу на с++ Разработать программу, которая вводит целочисленную матрицу из n строк и m столбцов (1&lt;n&lt;=100,...

Вывести номера столбцов матрицы, содержащих только отрицательные элементы (Pascal -> C++) - C++
Дана вещественная матрица размерности (n x m). Вывести номера столбцов, содержащих только отрицательные элементы. написано в раскале, а...

Если у диагонали этой матрицы находится обратный элемент , то матрицу транспонировать - C++
Дана матрица 3х3. Если у диагонали этой матрицы находится обратный элемент , то матрицу транспонировать надо , а если нет обратного...

Вывести номера столбцов, в которых находится более двух простых чисел - C++
Задали решить задачу.Сама не справляюсь((((Помогите пожалуйста! Задана матрица целых чисел А(n,n).вывести номера столбцов в которых...

Вывести матрицу B и из этой матрицы В вычесть единичную матрицу А - C++
Задание такое, нужно вывести матрицу B размером n*n, и из этой матрицы В вычесть единичную матрицу А. я решил вывести на экран сначала...

3
TrueBit
95 / 95 / 12
Регистрация: 19.11.2012
Сообщений: 195
18.01.2013, 00:46 #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();
}
1
maximuss
0 / 0 / 0
Регистрация: 24.04.2012
Сообщений: 148
18.01.2013, 00:59  [ТС] #3
Спасибо Вам огромное, очень благодарен.
0
asidorchenko
379 / 205 / 25
Регистрация: 09.04.2012
Сообщений: 635
19.01.2013, 09:11 #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;
}
1
19.01.2013, 09:11
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.01.2013, 09:11
Привет! Вот еще темы с ответами:

Вывести на экран номера столбцов матрицы, сумма которых превышает заданную величину, и число таких столбцов - C++
Всем привет!:) Прошу помощи в написании программы, а точнее доведении ее до ума. Условие следующее: Для матрицы из 3 строк и 7 столбцов...

Visual Studio: Вывести номера столбцов матрицы, элементы которых образуют монотонно убывающую или монотонно возрастающую последовательность - C++
Здравствуйте, прошу помощи. Вопрос жизни и смерти. В программировании вообще что-то тяжко. С горем попалам сдаю. 1 курс... тяжело... ...

Номера строк и столбцов всех седловых точек матрицы - C++
Помогите немогу решить контрольную по с++ ,задание такое Дана целочисленная прямоугольная матрица.Определить: Номера строк и...

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


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

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

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