Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Помощь студентам


Ответ
 
Опции темы Опции просмотра
Старый 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 вне форума   Ответить с цитированием

Старый 20.05.2013, 14:36
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Похожие темы на нашем форуме, почитайте

Вывести последовательность чисел в паскале
Входной информацией является строка - последовательность слов, разделенных пробелами

Старый 20.05.2013, 22:20   #2 (permalink)
kreol
Member
 
Аватар для kreol
 
Регистрация: 27.02.2010
Сообщений: 659
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 1312
По умолчанию

Код:
#include <iostream>
#include <locale.h>

using namespace std;

int main(){
    
    setlocale(LC_ALL,"Russian");
    int n;
    cout << "\nВведите количество элементов последовательности n = ";
    cin >> n;
    float a, rez;

    if(n>1){
        cout << "\nВведите элемент: ";
        cin >> a;
        float _min = a, _max = a;
        
        if(a==0){
            cout << "\nПервый элемент не может быть нулём";
            return 0;
        }
        
        for(int i = 1; i < n; i++){
            cout << "\nВведите элемент: ";
            cin >> a;
            if(a!=0){
                _min = min(_min, a);
                _max = max(_max, a);
            }
            else{
                break;
            }
        }
        rez = _min / _max;
        cout << "\nmin/max = " << rez;
        
    }
    else{
        cout << "\nКоличество элементов должно быть больше 0";
    }
    
    return 0;
}
Только переделайте к своему компилятору
kreol вне форума   Ответить с цитированием
Старый 21.05.2013, 12:34   #3 (permalink)
Киры4
Новичок
 
Регистрация: 08.05.2013
Сообщений: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Благодарю. Вы мне очень помогли.
Киры4 вне форума   Ответить с цитированием
Ads

Яндекс

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

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 14:20.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.