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

Найти номер максимального элемента массива; найти произведение заданных элементов; упорядочить массив

24.10.2016, 16:35. Просмотров 294. Ответов 7
Метки нет (Все метки)

в одномерном массиве, состоящем из n целых элементов, вычислить:

1) номер максимального элемента массива;

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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
#include "stdafx.h"
#include <ctime>
#include <iostream>
using namespace std;  
int fun1(int *mas, int n); //Осуществляет определение номер максимального элемента массива. Номер максимального эелемента массива
int fun2(int *mas, int n); //Произведение элементов Массива
void fun3(int *mas, int n); //Cортировака(преоброзование) массив
int _tmain() 
{setlocale(LC_ALL, "russian");
int n, k; cout<<"Ввод n: "; cin>>n; cout<<endl;// переменная массива
int *mas=new int[n]; // имя массива, целый, выделяем 
srand(time(NULL));//Автомотизация рандомизация
k=0;
for(int i=0; i<n; i++)
    mas[i]=-5+rand()%10;
 for (int i=0; i<n; i++)    
    if(mas[i]==0) 
        k++;
for (int i=0; i<n; i++)     
cout<<"Элемент mas["<<i<<"]="<<mas[i]<<endl;
cout<<"Номер максимального элемента "<<fun1(mas,n)<<endl;
cout<<"Произведение элементов "<<fun2(mas,n)<<endl;
cout<<"Преоброование элементов ";fun3(mas,n); cout<<endl;
delete [] mas;
system("pause");
return 0;
}
int fun1(int *mas, int n){ //Осуществляет определение номер максимального элемента массива. Номер максимального эелемента массива
    int max, NMax;
    max=mas[0];
    for(int j=0; j<n; j++)
        if(max<mas[j]) {max=mas[j]; NMax=j;}
        return NMax;
}
int fun2(int *mas, int n){ //Произведение элементов Массива
    long int P, N1, N2;
    P=1;
        for(int j=0; j<n; j++)
            if(mas[j]==0) {N1=j; }
            for(int j=N1+1; j<n; j++)
            if(mas[j]==0) {N2=j;}
            for(int j=N1+1; j<N2; j++)
                if(N1+1==N2) return 0;
                else
                    {P*=mas[j]; return P;}  
}
void fun3(int *mas, int n) {//Cортировака(преоброзование) массива
    int *mas1=new int[n];
    for(int z=0; z<n; z+=2)
        mas1[z]=mas[z];
    for(int z=1; z<n; z+=2)
        mas1[z]=mas[z];
        for(int z=0; z<n; z+=2)
        cout<<mas1[z]<<endl;
    delete [] mas1;
return;
}
прога стопориться в конце первой функции и не переходит на 2 и 3 и я не могу понять причину
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.10.2016, 16:35
Ответы с готовыми решениями:

Массивы (найти номер максимального элемента массива, произведение элементов массива)
В одномерном массиве, состоящем из п целых элементов, 1) номер максимального...

Массив: Найти произведение положительных элементов массива, стоящих после максимального элемента...
Ввести массив. Найти произведение положительных элементов массива, стоящих...

Дан одномерный массив. Если произведение элементов с чётными номерами больше произведения с нечетными номерами, то найти номер максимального элемента
Дан одномерный массив. Если произведение элементов с чётными номерами больше...

Есть массив а [5] [5]. Найти значение и номер максимального элемента 3-го столбика массива
Самым самым простым способом, так сказать для начинающий чайников.

Найти произведение элементов массива, расположенные после максимального по модулю элемента
Здравствуйте, помогите пожалуйста решить задачу на С++ Задание (непрерывные...

7
nd2
2828 / 2398 / 1054
Регистрация: 29.01.2016
Сообщений: 8,022
24.10.2016, 17:03 #2
Цитата Сообщение от Neorid Посмотреть сообщение
прога стопориться в конце первой функции и не переходит на 2 и 3
Как стопорится? Уверен что не переходит?
0
Neorid
0 / 0 / 0
Регистрация: 24.10.2016
Сообщений: 5
24.10.2016, 17:22  [ТС] #3
Да, можешь ты по пробывать у меня дальше максимального номера массива выдает ошибку
0
nd2
2828 / 2398 / 1054
Регистрация: 29.01.2016
Сообщений: 8,022
24.10.2016, 17:24 #4
Цитата Сообщение от Neorid Посмотреть сообщение
у меня дальше максимального номера массива выдает ошибку
Ну так, дальше же... Отладчиком умеешь пользоваться? Ошибка какая выдаётся?
0
Neorid
0 / 0 / 0
Регистрация: 24.10.2016
Сообщений: 5
24.10.2016, 17:26  [ТС] #5
Run-Time Check Failure #3 - The variable 'N2' is being used without being initialized.
неа я еще на первом курсе ток(
0
nd2
2828 / 2398 / 1054
Регистрация: 29.01.2016
Сообщений: 8,022
24.10.2016, 17:29 #6
Цитата Сообщение от Neorid Посмотреть сообщение
The variable 'N2' is being used without being initialized
А пишешь, что первую функцию не проходит... N2 у тебя где находится? Причина ошибки написана.
0
Neorid
0 / 0 / 0
Регистрация: 24.10.2016
Сообщений: 5
24.10.2016, 17:30  [ТС] #7
C++
1
2
3
4
5
6
7
8
9
10
11
int fun2(int *mas, int n){ //Произведение элементов Массива
    long int P, N1, N2;
    P=1;
        for(int j=0; j<n; j++)
            if(mas[j]==0) {N1=j; }
            for(int j=N1+1; j<n; j++)
            if(mas[j]==0) {N2=j;}
            for(int j=N1+1; j<N2; j++)
                if(N1+1==N2) return 0;
                else
                    {P*=mas[j]; return P;}
0
casper007
69 / 69 / 58
Регистрация: 12.12.2013
Сообщений: 420
24.10.2016, 17:35 #8
Цитата Сообщение от Neorid Посмотреть сообщение
не переходит на 2 и 3
Переходит, но в очень редких случаях. У вас неинициализированная переменная NMax в 29 строке. По логике вашей программы дайте ей нулевое значение.
Такая же ошибка и во второй функции.
0
24.10.2016, 17:35
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.10.2016, 17:35

Найти сумму и произведение элементов перед и после максимального элемента массива
В заданном массиве S (10) найти сумму элементов, расположенных перед...

Найти сумму и произведение положительных элементов массива, расположенных до максимального элемента
Дан массив чисел В. Найти сумму и произведение положительных элементов массива,...

Найти сумму и произведение положительных элементов массива, расположенных до максимального элемента
С++ Builder Функции Дан массив чисел В. Найти сумму и произведение...


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

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

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