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

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

14.04.2016, 20:56. Просмотров 245. Ответов 1
Метки нет (Все метки)

Помогите пожалуйста изменить программу, чтобы она была с динамическим массивом
Вот условие задачи:
В одномерном массиве из N вещественных элементов, вычислить минимальный по модулю элемент массива и сумму модулей элементов массива, расположенных после первого элемента, равного нулю.
Преобразовать массив таким образом, чтобы в первой его половине располагались элементы, стоявшие в четных позициях, а во второй половине – элементы, стоявшие в нечетных позициях.

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
#include "stdafx.h"
#include <iostream>
#include <time.h>
#include <stdlib.h>
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{
    const int n=10;
    int arr[n];
    int i;
    cout<<"Massiv:\n";
    srand(time(0));
    for(i=0; i<n; i++)
        { arr[i]=rand()%51-25;
          cout<<arr[i]<<" ";
        }
    cout<<endl;
    int min=0;
    for(i=0; i<n; i++)
         if(abs(arr[i])<abs(arr[min])) min=i;
    cout<<"\nMin["<<min<<"]="<<arr[min]<<endl;
    int s=0;
    bool fl=false;
    for(i=0; i<n; ++i)
        { if(arr[i]==0) fl=true;
          if(fl) s+=abs(arr[i]);
        }
    cout<<"\nSum="<<s<<endl;
    cout<<"\nPreobrazovaniy massiv:\n";
    int j, temp;
    for(i=0, j=n-1; i<=j; ++i, --j)
        if(i%2) {
            temp=arr[i];
            arr[i]=arr[j];
            arr[j]=temp;
        }
    for(i=0; i<n; i++)
        cout<<arr[i]<<" ";
    cout<<endl;
    system("pause");
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.04.2016, 20:56
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Обработка массива с использованием указателей (C++):

Обработка строки с использованием указателей
Проблема такая: Есть программа для подсчета кол-ва вхождений символа в строку...

Обработка одномерных массивов с использованием указателей
Помогите эту программу переделать чтобы было с указателем составить программу...

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

Обработка строк с использованием указателей: вывести слова в два столбика, по четности их длины
Дана строка. Распечатать слова в два столбика. 1 столбик — слова, имеющие...

Заполнение массива с использованием указателей
Необходимо заполлнить массив a с использовнием ничего не возвращающей функии и...

Рисунок в C++ с использованием массива и указателей
Создать одномерный символьный массив размерностью N*N (N - const). Заполнить...

1
nmcf
6245 / 5557 / 2527
Регистрация: 14.04.2014
Сообщений: 23,361
14.04.2016, 21:46 #2
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
int _tmain(int argc, _TCHAR* argv[])
{
    const int n=10;
    int * arr = new int[n];
    int i;
    cout<<"Massiv:\n";
    srand(time(0));
    for(i=0; i<n; i++)
        { arr[i]=rand()%51-25;
          cout<<arr[i]<<" ";
        }
    cout<<endl;
    int min=0;
    for(i=0; i<n; i++)
         if(abs(arr[i])<abs(arr[min])) min=i;
    cout<<"\nMin["<<min<<"]="<<arr[min]<<endl;
    int s=0;
    bool fl=false;
    for(i=0; i<n; ++i)
        { if(arr[i]==0) fl=true;
          if(fl) s+=abs(arr[i]);
        }
    cout<<"\nSum="<<s<<endl;
    cout<<"\nPreobrazovaniy massiv:\n";
    int j, temp;
    for(i=0, j=n-1; i<=j; ++i, --j)
        if(i%2) {
            temp=arr[i];
            arr[i]=arr[j];
            arr[j]=temp;
        }
    for(i=0; i<n; i++)
        cout<<arr[i]<<" ";
    cout<<endl;
 
    delete[] arr;
 
    system("pause");
    return 0;
}
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.04.2016, 21:46
Привет! Вот еще темы с решениями:

Переставить столбцы массива с использованием указателей
Здравствуйте) помогите переделать код, что бы он выполнялся с использованием...

Вывод массива на экран функцией с использованием указателей
Привет, при написании функции возникла проблема: в помеченной комментарием...

Создание одного массива из другого с использованием указателей
Ошибка 1 error C2440: =: невозможно преобразовать &quot;double *&quot; в &quot;double&quot; 17...

Ошибка при переборе массива с использованием указателей
Собственно сабж. Есть код int m = {4,5,46,57,35,65,35,55,45,95}; ...


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

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

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