Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Аватара для Drongo

Будем жить, Маэстро...


Сообщения: 6694
Благодарности: 1393

Профиль | Сайт | Отправить PM | Цитировать


Цитата Liisa:
Первый пункт я сделала, вот что получилось: »
В принципе с первым пунктом просто. Единственное, что в чётных элементах значение ноль, так что произведение будет всегда равно нулю. А со вторым я бы сделал так:
Код: Выделить весь код
...
   int IndexFirstNull, // Индекс первого нулевого значения
        IndexLastNull; // Индекс последнего нулевого значения
...
   // Вычисление первого значения с нулём
   // Начинаем поиск его с начала
   // И как только найдём, запоминаем break
   for(int i = 0; i < size; i++)
      if(FMass[i] == 0){
         IndexFirstNull = i;
         break;
        }
   // Вычисления последнего значения с нулём
   // Начинаем поиск его с конца массива
   // И как только найдём, запоминаем и break
   for(int i = size - 1; i >= 0; i--)
      if(FMass[i] == 0){
         IndexLastNull = i;
         break;
        }
   cout << endl;
   // Вывод значений между первым и последним нулевым элементом.
   for(int i = IndexFirstNull + 1; i < IndexLastNull; i++)
     cout << "FMass[" << i << "] = " << FMass[i] <<endl;
В общем виде так получилось
Код: Выделить весь код
#include <iostream>
using namespace std;
#include <conio.h>

int main(void)
{
   int const size = 10; // Размер массива
   float FMass[size] = {1, -2, 3, -5, 0, 2, 3, 8, 0, 1};
   float proizv = 1;
   int IndexFirstNull, IndexLastNull;

   // Вывод массива
   for(int i = 0; i < size; i++){  // print Fmass:
      cout << "FMAss[" << i << "] = " << FMass[i] << endl;
     }

   // Вывод произведения чётных элементов массива
   for(int i = 0; i < size; i++)
      if(i % 2 == 0)
         proizv *= FMass[i];
   cout << "\nProizvedenie chetnih = " << proizv << endl;

   // Вывод суммы элементов массива,
   // расположенных между первым и последним нулевыми элементами.
   // Вычисление первого значения с нулём
   for(int i = 0; i < size; i++)
      if(FMass[i] == 0){
         IndexFirstNull = i;
         break;
        }
   // Вычисления последнего значения с нулём
   for(int i = size - 1; i >= 0; i--)
      if(FMass[i] == 0){
         IndexLastNull = i;
         break;
        }
   cout << endl;
   // Вывод значений между первым и последним нулевым элементом.
   for(int i = IndexFirstNull + 1; i < IndexLastNull; i++)
     cout << "FMass[" << i << "] = " << FMass[i] <<endl;

   getch();
   return 0;
}

-------
Правильная постановка вопроса свидетельствует о некотором знакомстве с делом.
3нание бывает двух видов. Мы сами знаем предмет — или же знаем, где найти о нём сведения.
[Quick Killer 3.0 Final [OSZone.net]] | [Quick Killer 3.0 Final [SafeZone.cc]] | [Парсер логов Gmer] | [Парсер логов AVZ]

http://tools.oszone.net/Drongo/Userbar/SafeZone_cc.gif

Это сообщение посчитали полезным следующие участники:

Отправлено: 16:25, 11-12-2011 | #298