[H-L-L.ru]

Форма входа

Меню сайта

Categories
Основы работы в среде C++ Builder.Основы языка Си++ [7]
Операторы ветвления и операторы передачи управления [7]
Операторы цикла и операторы передачи управления [15]
Одномерные массивы [15]
Многомерные массивы [7]
Указатели.Динамическое распределение памяти [15]
Функции [4]
Строки [3]
Функция Main [15]
Типы данных,определяемые пользователем [1]
Потоки ввода/вывода [0]
Объектно-ориентированное программирование [0]
Справочные материалы [2]

Главная » Статьи » Решение задач на C++ к лекциям » Функция Main

Задача №5
В одномерном массиве, вводимом с клавиатуры и состоящем из 10 целых элементов, вычислить:
1) если задана опция  -n  -   номер максимального элемента массива;
2) если задана опция  -pr  -   произведение элементов массива, расположенных между первым и вторым нулевыми элементами.
Если заданы опции  -pr-n -  выполнить оба задания;
если опции не заданы – вывести сообщение и не выполнять задания.

int main(int argc, char* argv[])
{const int T=2;
if(argc==1)
  {
   cout<<"\nПараметры не введены,выполнение будет прервано ...\n";
   cout<<"\nНажмите любую клавишу для завершения программы ...\n";
   getch();
   return 0;
  }
  int flag[T]={0};
    for(int i=0;i<argc;i++)
    {  if(!stricmp(argv[i],"-n"))
       flag[0]=1;
       if(!stricmp(argv[i],"-pr"))
       flag[1]=1;
    }
    if(!flag[0]&&!flag[1])
    {
     cout<<"\nПараметры введены не верно...\n";
     cout<<"\nНажмите любую клавишу для завершения программы ...\n";
     getch();
     return 0;
    }

const int N=10;
int i,k=1,s=1;
float max,min,massiv[N];    //Описание массива
cout<<"Введите 10 целых чисел\n";
for(i=0;i<N;i++)
cin>>massiv[i];    //Ввод массива
for(i=0;i<N;i++)    //Вывод массива
cout<<"\n massiv["<<i<<"] = "<<massiv[i];    //Вывод массива

 if(flag[0])
 {
k=massiv[0];

for(i=0; i<N; i++)
{
 if(massiv[i]>k)
 k=i+1;
}
cout<<"\n  Max="<<k<<'\n';
 }
 
 
 if(flag[1])
 {
for(i=0;i<N;i++)
{
 if(massiv[i]==0)
 {
  min=i;break;
 }
}

for(i=min+1;i<N;i++)
{
 if(massiv[i]==0)
 {
  max=i;break;
 }
}

for(i=min+1;i<max;i++)
 {
 s=massiv[i]*s;
 }
 cout<<"Proizv="<<s;
 }



Источник: опции -pr-n

Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]

Полная версия сайта