С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

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

25.12.2011, 11:49. Просмотров 924. Ответов 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
#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;
}
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.12.2011, 11:49
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Обработка одномерных массивов с использованием указателей (C++):

Обработка одномерных массивов с использованием указателей (Visual studio) C++ - C++
Обработка одномерных массивов с использованием указателей Задание: составить программу заданной в лабораторной работе №5 обра-ботки ...

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

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

Обработка одномерных массивов - C++
При заданных XT,YT, абциссах X1,X2,..,Xn и ординатах Y1,Y2,..,Yn n точек плоскости XOY определить,в каком числе случаев расстояние...

Обработка одномерных массивов - C++

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

3
soon
2542 / 1307 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
25.12.2011, 12:22 #2
C++
1
2
3
4
arr[i]
//аналогично
*(arr + i)
//Где arr[] - массив, i - номер нужного элемента.
По такому принципу правите свой код.
0
srtonger
0 / 0 / 0
Регистрация: 28.11.2011
Сообщений: 18
25.12.2011, 12:38  [ТС] #3
Покажи по точнее,переделай хоть немножко
0
soon
2542 / 1307 / 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;
}
Над читабельностью работайте.
0
25.12.2011, 12:43
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.12.2011, 12:43
Привет! Вот еще темы с ответами:

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

Обработка одномерных массивов - C++
1. a) Одномерный массив из 5 элементов целого типа в диапазоне ; b) Дополнить исходный массив, начиная с третьего номера, пятью...

Обработка одномерных динамических массивов - C++
1. Удалить из массива положительный элемент. 2. Вставить число 99 после второго элемента массива. 3. Удалить все элементы,...

Обработка одномерных динамических массивов - C++
Помогите написать программу (Динамические массивы) Написать программу, которая создает динамический массив на N элементов, заполняет его...


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

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

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