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

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

Войти
Регистрация
Восстановить пароль
 
HaRuKy
5 / 5 / 0
Регистрация: 20.03.2011
Сообщений: 300
#1

Небольшой цикл - C++

31.10.2011, 22:04. Просмотров 361. Ответов 3
Метки нет (Все метки)

Доброй ночи всем
Подскажите пожалуйста как правильно написать цикл, чтобы программа производила произведение элементов массива, расположенных между первым и вторым нулевыми элементами. Первую и третью часть сделал, а вот вторую не получается…Основное задание:
В одномерном массиве, состоящем из n целых элементов, вычислить:
1. номер максимального элемента массива;
2. произведение элементов массива, расположенных между первым и вторым нулевыми элементами.
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
#include "iostream.h"
#include "stdlib.h"
#include "conio.h"
#include "math.h"
#define N 100
void main()
{ clrscr();
  int a[N];
  int n,i,k1,k2,max;
  int s=0;
  cout<<"\n Vvedite razmer massiva n="; cin>>n;
 // Ввод массива с помощью ДСЧ
randomize();
  for(i=0; i<n; i++)
  a[i]=random(5)-1;
  {for(i=0; i<n; i++)
   cout<<" "<<a[i]<<" ";
   cout<<"\n";
  }
// Поиск максимального элемента  
  max=0;
  for(i=0; i<n; i++)
  if(a[i]>max)max=a[i];
  for(i=0; i<n; i++) if(a[i]==0){k1=i;break;} // Условие первого нулевого элемента
  for(i=0; i<n; i++) if(a[i]==0){k2=i;break;} // Условие второго нулевого элемента
  for(i=k1+1; i<k2; i++) s+=a[i]; 
  cout<<"\n Proizvedenie = "<<s;
  cout<<"\n max element massiva = "<<max;
 // Преобразование массива (3 часть)  
 cout<<"\n Massiv: ";
  for(i=0; i<n; i+=2) cout<<a[i]<<" ";
  for(i=1; i<n; i+=2) cout<<a[i]<<" ";
  cout<<endl;
}
Заранее спасибо
Примечание: Компилятор Версии Турбо Си++
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.10.2011, 22:04     Небольшой цикл
Посмотрите здесь:

Небольшой баг - C++
Дана очень простая задачка: Даны числа a0, X, Y, M. Рассмотрим бесконечную последовательность ai = (X * ai-1 + Y) mod M, где операция...

Недочёт небольшой - C++
Написал программу, показываю преподавателю , а она недовольна, говорит что еще вывод матрицы должен быть,я всю голову сломал уже - ну как и...

Небольшой вопросик - C++
Помогите ответить на вопрос, давно не ввлезал в си, а вот пришлось решать тест и я сел на этом вопросе. Если ключ доступа не указан явно...

небольшой вопрос..... - C++
подскажите,пожалуйста,что в этой записи обозначает &amp;(амперсант) перед переменными? int dd, mm, yy; fscanf(Query,&quot;%d.%d.%d&quot;, &amp;dd, &amp;mm,...

Небольшой вопрос от нуба в C++ - C++
Есть задача: в одномерном массиве найти номер максимального элемента, сосчитать произведение между первым и вторым нулями, и перестроить...

Прошу небольшой помощи - C++
Добрый вечер господа. В Этой теме(Кликабельно), я определился с тем, что начну изучение C++ И у меня к Вас возникает вопрос....

Небольшой трабл с функциями - C++
#include&lt;stdio.h&gt; #include&lt;conio.h&gt; #include&lt;math.h&gt; #include&lt;iostream&gt; #include&lt;iomanip&gt; using namespace std; void vvod...

Написание небольшой 2d игры - C++
Привет всем.Раньше как-то пробовал писать, что-то на C++ ,но дальше hello wordов дело не пошло( Так вот вопросик,сложно ли написать такую...

Исправить небольшой код - C++
В общем никак не получается правильно написать небольшой кусок программы. Дана матрица nxn. Нужно сравнить между собой все строки...

Разобраться в небольшой функции - C++
Здравствуйте, нужно разобраться в этой функции. Заранее спасибо. ifs &gt;&gt; big &gt;&gt; n; istream&amp; operator&gt;&gt;(istream&amp; ifs, BigInt&amp; big) { ...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Nastya24
32 / 18 / 4
Регистрация: 30.09.2011
Сообщений: 59
31.10.2011, 22:38     Небольшой цикл #2
C++
1
2
3
4
5
6
7
8
9
int j1=0,j2=0,p=1;
for(int i=0;i<10;i++)
if(mas[i]==0){j1=i+1;break;}
 
for(int i=j1;i<10;i++)
if(mas[i]==0){j2=i;break;}
 
for(int i=j1;i<j2;i++)
    p=p*mas[i];
HaRuKy
5 / 5 / 0
Регистрация: 20.03.2011
Сообщений: 300
01.11.2011, 13:54  [ТС]     Небольшой цикл #3
// Поиск максимального элемента
int max=0;
for(i=0; i<n; i++)
if(a[i]>max)max=a[i];
cout<<"\n max element massiva = "<<max;


Подскажите пожалуйста какие изменения необходимо внести в программу, что программа находила индекс максимального элемента массива, а не сам максимальный элемент...
Nastya24
32 / 18 / 4
Регистрация: 30.09.2011
Сообщений: 59
01.11.2011, 16:19     Небольшой цикл #4
C++
1
2
3
int max=0,index;
for(i=0; i<n; i++)
if(a[i]>max){index=i};
Yandex
Объявления
01.11.2011, 16:19     Небольшой цикл
Ответ Создать тему
Опции темы

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