Показать сообщение отдельно
Старый 20.05.2013, 14:36   #1 (permalink)
Киры4
Новичок
 
Регистрация: 08.05.2013
Сообщений: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
Question Последовательность C++, подскажите как надо

Задание- найти отношение минимального элемента к максимальному среди элементов, предшествующих первому нулевому.Сделал отношение, предшествующее первому положительному.А как делать то же с первым нулевым-не вьеду.

#include "stdafx.h"
#include <iostream>
#include <locale.h>

using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{
setlocale(LC_ALL,"Russian");
int n;
cout << "\nВведите количество элементов последовательности n = ";
cin >> n;
float a;
float min = 999;
float max = -999;
int fl = 0;
int i = 0;
while (i < n)
{
cout << "\nВведите элемент: ";
cin >> a;
if (a < min)
min = a;
if (fl < 1)
{
if (a <= 0)
{
if (a > max)
max = a;
}
else
fl = 1;
}
i++;
}
// cout << "\nmin = " << min;
// cout << "\nmax = " << max;
// cout << "\nfl = " << fl;
if (fl < 1)
cout << "\nНет положительных элементов.\n";
else
{
if (-999 == max)
cout << "\nНет элементов перед первым положительным.\n";
else
{
if (max == 0)
cout << "\nДеление на 0!\n";
else
{
float rel = min/max;
cout << "\nОтношение минимального элемента к максимальному среди предшествующих первому положительному: " << rel << "\n";
}
}
}
system("PAUSE");
return 0;
}
Киры4 вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070