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

Обработка одномерных массивов с использованием указателей - C++

Восстановить пароль Регистрация
 
srtonger
 Аватар для srtonger
0 / 0 / 0
Регистрация: 28.11.2011
Сообщений: 18
25.12.2011, 11:49     Обработка одномерных массивов с использованием указателей #1
Помогите эту программу переделать чтобы было с указателем
составить программу заданной обработки массива целых чисел с использованием адресной ароиф-метики. В процессе обработки использовать перестановки элементов внутри массива, не создавая новых массивов. Заполнение исходного массива организовать с клавиатуры. Исходный и обработанный массив выводить на экран.

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
#include "stdafx.h"
#include <iostream>
using namespace std;
 
void user_func(int arr[10], int size) {
int i,n,t = 0,p = 0,c = 0;
for(i = 0; i < size; i++) 
{
    for(c = i; c < size && arr[c] < 0; c++); 
    if((c - i) > t) 
    {
       t = c - i;
       p = i;
    }
    for(n = t; n > 0; n--) 
    {
        c = arr[p];
        for(int k = p; k < size - 1; k++)
            arr[k] = arr[k + 1];
        arr[size - 1] = c;
    }
}
int  main() {
const int N = 10;
int arr[N]  = {0};
         cout << "Vvedite massiv:\n";
for(int l = 0; l < N; l++) 
     cin >> arr[l];
cin.ignore();
user_func(arr, N);
cout << "";
for(int j = 0; j < N; j++)
    cout << arr[j] << "  ";
cout << endl;
cin.get();
system("PAUSE");
return 0;
}
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.12.2011, 11:49     Обработка одномерных массивов с использованием указателей
Посмотрите здесь:

C++ Связь указателей и одномерных массивов. Динамический одномерный мас-сив
C++ Обработка одномерных массивов с использованием указателей
C++ Обработка одномерных массивов с использованием указателей (Visual studio) C++
C++ обработка одномерных массивов и сортировка массивов
C++ Обработка одномерных массивов. Сортировка массивов
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
soon
 Аватар для soon
2536 / 1301 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
25.12.2011, 12:22     Обработка одномерных массивов с использованием указателей #2
C++
1
2
3
4
arr[i]
//аналогично
*(arr + i)
//Где arr[] - массив, i - номер нужного элемента.
По такому принципу правите свой код.
srtonger
 Аватар для srtonger
0 / 0 / 0
Регистрация: 28.11.2011
Сообщений: 18
25.12.2011, 12:38  [ТС]     Обработка одномерных массивов с использованием указателей #3
Покажи по точнее,переделай хоть немножко
soon
 Аватар для soon
2536 / 1301 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
25.12.2011, 12:43     Обработка одномерных массивов с использованием указателей #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
#include <iostream>
using namespace std;
 
void user_func(int *arr, int size) {
int i,n,t = 0,p = 0,c = 0;
for(i = 0; i < size; i++) 
{
    for(c = i; c < size && *(arr + c) < 0; c++); 
    if((c - i) > t) 
        {
       t = c - i;
       p = i;
        }
        for(n = t; n > 0; n--) 
        {
                c = *(arr + p);
                for(int k = p; k < size - 1; k++)
                        *(arr + k) = *(arr + k + 1);
                *(arr + size - 1) = c;
        }
}
}
int main() {
const int N = 10;
int arr[N]  = {0};
         cout << "Vvedite massiv:\n";
for(int l = 0; l < N; l++) 
     cin >> *(arr + l);
cin.ignore();
user_func(arr, N);
cout << "";
for(int j = 0; j < N; j++)
    cout << *(arr + j) << "  ";
cout << endl;
cin.get();
return 0;
}
Над читабельностью работайте.
Yandex
Объявления
25.12.2011, 12:43     Обработка одномерных массивов с использованием указателей
Ответ Создать тему
Опции темы

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