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

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

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

Переденлать программу обработки вектора с использованием рабочего указателя - C++

03.07.2016, 18:48. Просмотров 162. Ответов 1
Метки нет (Все метки)

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

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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
#include <stdio.h>
#include <iostream>
using namespace std;
 
int main()
{
    int n, i, k; // n - количество элементов в массиве
    int a[100]; // a - массив целых чисел, максимальный размер 100 элементов
 
    printf("\n Vvedite razmernost` vektora n = ");
    scanf("%d", &n);
    printf("\n Vvedite ishodnyi vektor");
    for (i = 0; i<n; i++)
    {
        printf("\n a[%d] = ", i);
        scanf("%d", &a[i]);
    }
    printf("\n Ishodnyi vektor");
    for (i = 0; i<n; i++)
    {
        printf("\n a[%d] = %d ", i, a[i]);
    }
    int max = a[0], maxN = 0;
    int min = a[0], minN = 0;
 
    for ( j = 0; j < a+n; *j++)
    {
        if (*j > max)
        {
            max = a[i];
            maxN = i;
        }
        if (a[i] < min)
            {
            min = a[i];
            minN = i;
        }
 
    }
    if(maxN < minN)
    {
        k = maxN;
        maxN = minN;
        minN = k;
    }
    k = 1;
    for(int i = minN + 1; i < maxN; i++)
        k *= a[i];
    cout << "max = "<< max <<endl;
    cout << "min = "<< min <<endl;
    cout << "mul between min and max = " << k << endl;
        return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.07.2016, 18:48
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Переденлать программу обработки вектора с использованием рабочего указателя (C++):

Преобразование кода без указателя в код с использованием указателя - C++
Правильно ли выполнил? Исходный код без указателя #include &lt;iostream&gt; #include &lt;cstdlib&gt; #include &lt;fstream&gt; using namespace...

Составить программу на языке С++ для обработки строк с использованием указателей - C++
Дана строка. На печать выдать слова, которые имеют четную длину и одинаковые первую и последние буквы Добавлено через 13 секунд Help...

Составить программу на языке C++ для обработки двумерных массивов с использованием указателей - C++
Дана матрица порядка n. Найти в последнем столбце max и min. Если в матрице есть нули, то заменить их суммой max и min последнего столбца. ...

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

Использование указателя для обработки строки - C++
Здравствуйте! Объясните пожалуйста, почему цикл while обрабатывает строку char *B только с указателем? И можно объяснить строку B=q? ...

Программа с использованием функции и указателя - C++
Разработать функцию, осуществляющую подсчет нечетных и произведение положительных элементов одномерного массива. Обязательно использовать...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Hikari
Хитрая блондиночка $)
1447 / 954 / 285
Регистрация: 21.12.2015
Сообщений: 3,798
03.07.2016, 19:25 #2
Цитата Сообщение от spr1nt Посмотреть сообщение
рабочего указателя
Ну и термины...

С коленки без освобождения памяти
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
#include <stdio.h>
#include <iostream>
using namespace std;
 
int main()
{
    int n, i, k; // n - количество элементов в массиве
    int *a=new  int[100]; // a - массив целых чисел, максимальный размер 100 элементов
 
    cout<<"\n Vvedite razmernost` vektora n = ";cin>>n;
    cout<<"\n Vvedite ishodnyi vektor";
    for (i = 0; i<n; i++)    {
        cout<<endl<<"a[";cout<<i;cout<<"]";
        cin>>a[i];
    }
    cout<<endl<<"Ishodnyi vektor";
    for (i = 0; i<n; i++)  { cout<<endl<<"a[";cout<<i;cout<<"]=";cout<<a[i]; }
    
    int max = a[0], maxN = 0;
    int min = a[0], minN = 0;
    i=0;
    for ( int* j = a; i < n; j++,i++)
    {
        if (*j > max)
        {
            max = *j;
            maxN = i;
        }
        if (*j < min)
            {
            min = *j;
            minN = i;
        }
 
    }
    if(maxN < minN)
    {
        k = maxN;
        maxN = minN;
        minN = k;
    }
    k = 1;
    for(int i = minN + 1; i < maxN; i++)
        k *= a[i];
    cout << "max = "<< max <<endl;
    cout << "min = "<< min <<endl;
    cout << "mul between min and max = " << k << endl;
        return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.07.2016, 19:25
Привет! Вот еще темы с ответами:

Задача с использованием структуры и указателя - C++
Структура содержит поля: имя, фамилия , возраст. Надо заполнить с клавиатуры и передать через указатель в функцию , в к-ой вывести на экран...

Сортировка по убыванию с использованием указателя - C++
Все перепробовала, у меня никак не получается сделать сортировку по убыванию с указателем. Можете дописать часть кода? #include&lt;iostream&gt;...

Как реализовать цикл с использованием указателя? - C++
подскажите как сделать правильно хочу сделать указатель на вектор v #include &lt;iostream&gt; #include &lt;string&gt; #include &lt;vector&gt; ...

Как обратиться к элементу массива с использованием указателя - C++
Всем привет, есть некоторая задачка, которую мне очень важно решить... Дословно пишу условие в С\С++ обьявлен массив mas значений...


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

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

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