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

В одномерном массиве, состоящем из N целых элементов, вычислить номер максимального элемента массива - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Паинт своими руками http://www.cyberforum.ru/cpp-beginners/thread768282.html
Пишу свой паинт (точнее написал) но встала задача переписать его без использования типа данных HDC (указатель контекстного устройства).Реально ли это?
C++ Работа с файлами (считать выполнить примеры) в файле записано несколько примеров 2+2 3/1 4*2 надо считать выполнить их и вывести результаты в другой файл Можете написать код? Спасибо http://www.cyberforum.ru/cpp-beginners/thread768281.html
C++ Динамические структуры. Линейный список. Опре- делить количество слов, имеющих первую и последнюю букву одну и туже заданную
Добрый вечер прошу вас помочь с задачей: Дан текст, состоящий из последовательности слов из латинских букв. Составить линейный список из слов данного текста. Опре- делить количество слов, имеющих первую и последнюю букву одну и туже заданную.
C++ Порядок и мантисса параметра типа double
Задача из Страуструпа функция печатающая порядок и мантиссу параметра типа double Ну мантисса это вроде бы понятно (Мантисса - это хранитель значащих разрядов в числе, число от 0.1 до 0.99999... или от 1.0 до 9.9999), а вот как понимать порядок в этой функции, порядок чего? Порядок выполнения действий что ли.. врятли void showDouble(double d) {
C++ Сведения о машине можно считывать/записывать в файл http://www.cyberforum.ru/cpp-beginners/thread768251.html
Помогите пожалуйста, программа выполняет два действия. Если 1 - в файл записывается марка машины, вес, номер (а000аа). Если 2 - выводит под порядковыми номерами марки (или вес, или номер) машин, если набрать порядковый номер машины, выводятся все данные о ней. Добавлено через 11 часов 30 минут Ну что же вы
C++ Параметр функции объект У меня есть класс Box его наследники с небольшими отличиями классы Brick и Racket Есть функция принимает параметром объект Box: bool IsCollision(Box &box){...} могу ли я сделать чтобы функция bool IsCollision(Box &box) могла принимать параметром классы наследники Brick и Racket для каждого из них действия в функции одинаковы. подробнее

Показать сообщение отдельно
gulllak
44 / 0 / 0
Регистрация: 09.10.2012
Сообщений: 66

В одномерном массиве, состоящем из N целых элементов, вычислить номер максимального элемента массива - C++

21.01.2013, 20:31. Просмотров 1844. Ответов 6
Метки (Все метки)

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

Программа работает и все считает, но нужно добавить условие для второго пункта задания что бы выводил сообщение "Невозможно посчитать произведение" когда:
1) Когда нет нулей
2) Когда в массиве один ноль
3) Когда в массиве больше двух нулей
4) когда между нулями стоит один элемент
5) когда нули рядом друг с другом

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

Вот мой код:

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
#include <iostream>
 
using namespace std;
 
 
int main()
{setlocale(0,"rus");
    int *m,n,i,j,UMN=1,NOM_MAX,MAX=-1000,NOMER1=-1,NOMER2=-1;
    cout<<"Введите кол-во элементов: ";
    cin>>n;
 
    m=new int[n];
 
    cout<<"Заполните массив из "<<n<<" элементов."<<endl;
    for(i=0;i<n;i++)// заполняем массив
    {
    cin>>m[i];
    if(m[i]==0 && NOMER1!=-1 && NOMER2==-1)NOMER2=i;
    if(m[i]==0 && NOMER1==-1)NOMER1=i;
    
 
    if(m[i]>MAX){MAX=m[i];NOM_MAX=i;}
    }
 
 
    for(i=NOMER1+1;i<NOMER2;i++)
    {
     UMN*=m[i];
    }
 
 cout<<endl<<"Номер максимального элемента: "<<NOM_MAX+1<<"."<<endl<<"Произведение элементов: "<<UMN<<"."<<endl;
 
 cout<<"Отсортированный массив :"<<endl;
    
    for(j=0;j<n;j++)
    if(j%2==0)cout<<m[j]<<" ";
 
    for(j=0;j<n;j++)
    if(j%2!=0)cout<<m[j]<<" ";
    cout<<endl;
 
 system("pause");
 
 
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 14:45. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru