Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
PanzerMeister
0 / 0 / 1
Регистрация: 14.04.2012
Сообщений: 17
#1

Процедура для массива - C++

29.04.2012, 18:10. Просмотров 573. Ответов 4
Метки нет (Все метки)

Помогите пожалуйста, нужна процедура которая удаляет в каждой строке все чётные элементы массива путём обнуления их значений и смещения в конец строки. Если у кого есть напишите. Массив 2мерный
http://www.cyberforum.ru/cpp-beginners/thread2235705.html
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.04.2012, 18:10
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Процедура для массива (C++):

Процедура обмена столбца и строки двухмерного массива
Написать процедуру обмена столбца и строки двухмерного массива. С ее помощью...

Процедура и функция: Создать другой массив, содержащий отрицательные элементы исходного массива.
доброго времени суток есть код программы //Дан одномерный массив, состоящий...

Процедура обхода для дерева
постройте процедуру обхода для определения длины бинарного(или произвольного)...

Процедура обхода для дерева
Постройте процедуру обхода для получения следующей информации о деревьях -...

Процедура обработки сообщений для отдельного контрола
Доброго времени суток! Не могу найти информацию как реализовать отдельную...

4
valeriikozlov
Эксперт С++
4683 / 2509 / 751
Регистрация: 18.08.2009
Сообщений: 4,550
30.04.2012, 07:28 #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
void func(int **a, int n, int m)
{
    int i, j, y, j_end;
    for(i=0; i<n; i++)
    {
        j_end=m;
        for(j=0; j<j_end; j++)
            if(a[i][j]%2==0)
            {
                for(y=j; y<j_end-1; y++)
                    a[i][y]=a[i][y+1];
                j_end--;
                a[i][j_end]=0;
            }
    }
}
1
PanzerMeister
0 / 0 / 1
Регистрация: 14.04.2012
Сообщений: 17
30.04.2012, 08: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
#include <iostream>
#include <ctime>
#include <cstdlib>
 
using namespace std;
 
#define N 10
typedef int array [N][N];
 
void loading (array arr)
{
    srand(time(NULL));
 
    for(int i=0; i<N; ++i)
    {
                for(int j=0; j<N; ++j)
        {
            arr[i][j]=rand()%(2*N+1)-N;
        }
    }
}
 
void print(array arr)
{
    for(int i=0; i<N; ++i)
    {
                for(int j=0; j<N; ++j)
        {
            cout << arr[i][j] << " ";
        }
         cout << endl;
    }
    cout << endl;
}
 
void func(array arr)
{
    int i, j, y, j_end;
    for(i=0; i<N; i++)
    {
        j_end=//здесь как я понял будет хранится число которое обнулится?;
        for(j=0; j<j_end; j++)
            if(arr[i][j]%2==0)
            {
                for(y=j; y<j_end-1; y++)
                    arr[i][y]=arr[i][y+1];
                j_end--;
                arr[i][j_end]=0;
            }
    }
}
 
 
int main()
{
    array arr;
    loading(arr);
    print(arr);
    func(arr);
    print(arr);
 
    return 0;
}
0
valeriikozlov
Эксперт С++
4683 / 2509 / 751
Регистрация: 18.08.2009
Сообщений: 4,550
30.04.2012, 08:34 #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
#include <iostream>
#include <ctime>
#include <cstdlib>
 
using namespace std;
 
#define N 10
typedef int array [N][N];
 
void loading (array arr)
{
    srand(time(NULL));
 
    for(int i=0; i<N; ++i)
    {
                for(int j=0; j<N; ++j)
        {
            arr[i][j]=rand()%(2*N+1)-N;
        }
    }
}
 
void print(array arr)
{
    for(int i=0; i<N; ++i)
    {
                for(int j=0; j<N; ++j)
        {
            cout << arr[i][j] << " ";
        }
         cout << endl;
    }
    cout << endl;
}
 
void func(array arr)
{
    int i, j, y, j_end;
    for(i=0; i<N; i++)
    {
        j_end=N;
        for(j=0; j<j_end; j++)
            if(arr[i][j]%2==0)
            {
                for(y=j; y<j_end-1; y++)
                    arr[i][y]=arr[i][y+1];
                j_end--;
                arr[i][j_end]=0;
                j--;
            }
    }
}
 
 
int main()
{
    array arr;
    loading(arr);
    print(arr);
    func(arr);
    print(arr);
 
    return 0;
}
1
PanzerMeister
0 / 0 / 1
Регистрация: 14.04.2012
Сообщений: 17
30.04.2012, 08:52  [ТС] #5
Спасибо все заработало
0
30.04.2012, 08:52
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.04.2012, 08:52
Привет! Вот еще темы с решениями:

Процедура для изменения направления односвязного списка на противоположное
Слышала, что часто дают такое задание на собеседованиях. Сделала меню, функцию...

Процедура (Составить процедуру для нахождения макс. элемента матрицы)
Помогите написать программку. Задание: Составить процедуру для нахождения...

Процедура: Определить для каждой точки, в какой четверти она находится
Данн вектор х из 6 элементов и вектор у из 6 элементов, в которых записаны...

Процедура ChangeVektor (для умножения всех элементов вектора на вещественное число)
Помогите, надо сложить процедуру ChangeVektor для умножения всех элементов...


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

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

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