- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 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
- 35
- 36
- 37
- 38
#include <iostream>
#include <fstream>
#include <conio.h>
using namespace std;
int main()
{
int wc,cnt=0,maxp=0,minp=2147483647,maxn=-2147483648,minn=0,pos=0,neg=0,zf=0;
fstream(f);
f.open("input.txt",ios::in);
while (!f.eof())
{
if(!zf) zf--;
wc=0;
f >>wc;
if (wc>0) { if (maxp<wc) maxp=wc; if (minp>wc) minp=wc; pos++; }
else {if (minn>wc) minn=wc; if (maxn<wc&&wc)maxn=wc; if (!wc) zf+=2; else neg++; }
}
if (pos>1 && neg>1)
if ((float)maxp/minp > (float)minn/maxn) cout<<maxp<<"/"<<minp<<"="<<(float)maxp/minp;
else cout<<minn<<"/"<<maxn<<"="<<(float)minn/maxn;
if (pos>1 && neg<2) cout<<maxp<<"/"<<minp<<"="<<(float)maxp/minp;
if (pos<2 && neg>1) cout<<minn<<"/"<<maxn<<"="<<(float)minn/maxn;
if (pos<=1 && neg<=1)
if(zf) if(pos) cout<<"0/"<<minp<<"=0";else cout<<"0/"<<minn<<"=0";
else if ((float)maxp/maxn>(float)maxn/maxp)cout<<maxp<<"/"<<maxn<<"="<<(float)maxp/maxn;
else cout<<maxn<<"/"<<maxp<<"="<<(float)maxn/maxp;
if (pos+neg+zf<=1) cout<<"No solution!";
f.close();
getch();
return 0;
}
Задача 2-ого курса: "в массиве целых числел найти два таких числа, чтобы их частное было максимальным ( O(n) )"
И ее решение -.- Особо доставляет название переменных
Govnoeb 29.11.2010 12:29 # 0
по теме:
деление макс. числа на мин. число одного знака из массива даст наибольшее частное
Lexey 30.11.2010 17:06 # +2
TarasB 29.11.2010 12:48 # 0
ну и что?
bulka 29.11.2010 14:13 # −1
TarasB 29.11.2010 14:59 # +3
bugmenot 30.11.2010 17:15 # 0
засиженный эмарями (sp?)
daemon_master 01.12.2010 01:24 # 0
absolut 01.12.2010 08:08 # 0
koodeer 01.12.2010 09:46 # 0
absolut 01.12.2010 10:44 # 0
Анонимус 01.12.2010 13:51 # 0
http://lingvo.yandex.ru/recept/%D1%81%20%D0%B0%D0%BD%D0%B3%D0%BB%D0%B8% D0%B9%D1%81%D0%BA%D0%BE%D0%B3%D0%BE/
absolut 01.12.2010 15:04 # 0
не говоря уже о первой части названия сайта.
Анонимус 01.12.2010 15:06 # 0