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

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

Восстановить пароль Регистрация
 
K_c72
 Аватар для K_c72
0 / 0 / 0
Регистрация: 27.11.2013
Сообщений: 13
27.11.2013, 00:14     Записать все нечетные элементы матрицы в один массив, а четные - в другой #1
Гуру с++, помогите, пожалуйста, с задачкой! Все элементы матрицы М(3;5), имеющие нечетные значения записать в массив М1, а четные - в М2!

Добавлено через 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
#include <cstdlib>
#include <iostream>
using namespace std;
int main()
{
    int a=1, b=1, k, l, i, j, n=1, m=1, matr[3][5], m1[n], m2[m];
 
    for( j=0; j<5; j++ ){
        for (i=0; i<3; i++)
        {
        matr[i][j]=rand()%20;
        cout<<matr[i][j]<<" ";
        } cout<<endl;}
      for( k=0; k<5; k++ ){
        for (l=0; l<3; l++)
        {
        if (matr[l][k]%2==0)
            {m1[n]=matr[l][k];
            n++;}
            else {m2[m]=matr[l][k];
            m++;}
        }}
while (a<n)
{cout<<m1[n]<<" ";
a++;
}
cout<<"\n";
while (b<m)
{cout<<m2[m]<<" ";
b++;
}
 
    return 0;
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.11.2013, 00:14     Записать все нечетные элементы матрицы в один массив, а четные - в другой
Посмотрите здесь:

Все положительные элементы двумерного массива записать в один одномерный массив, а остальные в другой C++
C++ Дан массив целых чисел из 10 элементов.Все элементы кратные 10 заменить 0;Все нечетные элементы удвоить, а четные уменьшить на 2;
C++ Дан одномерный массив А, состоящий из N элементов. Перенести в начало массива все четные элементы, а в конец массива - все нечетные
Дан одномерный массив А, состоящий из N элементов. Перенести в начало массива все четные элементы, а в конец массива - все нечетные C++
C++ Из массива случайных чисел сделать другой массив, умножая четные и нечетные элементы на коэффициент
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
nullpointer
 Аватар для nullpointer
45 / 45 / 5
Регистрация: 30.03.2009
Сообщений: 518
27.11.2013, 00:28     Записать все нечетные элементы матрицы в один массив, а четные - в другой #2
Во-первых, у вас размеры массивов m1 и m2 неправильно указаны. Задайте их сами какие Вам нужны, я просто для примера 10 поставил потому что знаю что 10 хватит.
Во-вторых, при выводе данных массивов, у Вас изменяется переменная a либо b соответственно, но выводите Вы почему то только один элемент несколько раз.
И нумерация элементов массивов в С/С++ всегда с нуля начинается.
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 <cstdlib>
#include <iostream>
 
 using namespace std;
 
 int main()
 {
     int a=1, b=1, k, l, i, j, n=0, m=0, matr[3][5], m1[10], m2[10];
 
     for( j=0; j<5; j++ )
     {
        for (i=0; i<3; i++)
        {
            matr[i][j]=rand()%20;
            cout << matr[i][j] << " ";
        } 
        cout<<endl;
     }
 
     for( k=0; k<5; k++ )
     {
         for (l=0; l<3; l++)
         {
             if (matr[l][k]%2==0)
             {
                 m1[n]=matr[l][k];
                 n++;
             }
             else 
             {
                 m2[m]=matr[l][k];
                 m++;
             }
         }
     }
     
     for (i = 0; i < n; i++) 
         cout << m1[i] << " ";
     cout << endl;
     for (i = 0; i < n; i++) 
         cout << m2[i] << " ";
     
     
     return 0;
     
 }
Chudakulli
1 / 1 / 0
Регистрация: 16.02.2013
Сообщений: 49
27.11.2013, 00:29     Записать все нечетные элементы матрицы в один массив, а четные - в другой #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
int main()
{
    int matr[3][5]={{2,4,6,8,5},{3,5,8,3,1},{9,6,4,2,1}};
    int m1[15]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
    int m2[15]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
    int m1count=0;
    int m2count=0;
    for (int i=0; i<3;i++)
    {
        for (int j=0;j<5;j++)
        {
            if (matr[i][j]%2) m1[m1count++]=matr[i][j];
            else m2[m2count++]=matr[i][j];
        }
    }
    for (int i=0; i<15;i++)
        cout<<m1[i];
    cout<<endl;
    for (int i=0; i<15;i++)
        cout<<m2[i];
    cout<<endl;
    system("pause");
    return 0;
}
K_c72
 Аватар для K_c72
0 / 0 / 0
Регистрация: 27.11.2013
Сообщений: 13
27.11.2013, 00:34  [ТС]     Записать все нечетные элементы матрицы в один массив, а четные - в другой #4
nullpointer, chudakulli, большое спасибо!
Yandex
Объявления
27.11.2013, 00:34     Записать все нечетные элементы матрицы в один массив, а четные - в другой
Ответ Создать тему
Опции темы

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