Консультация № 70377
10.01.2007, 22:46
0.00 руб.
0 2 2
Здравствуйте Уважаемые эксперты!
С прошедшими праздниками!
...и задачка
Даны вещественные массивы A[15], F[15]. Для каждого массива опpеделить наибольшее из отpицательных значений.

Обсуждение

Неизвестный
10.01.2007, 23:26
общий
это ответ
Здравствуйте, Lena_25!
double amax=0,fmax=0;
for(int i=0;i<15;i++){
if((a[i]<0)&&(a[i]>amax)||(amax=0)){amax=a[i];}
if((f[i]<0)&&(f[i]>fmax)||(fmax=0)){fmax=f[i];}
}
собственно и все
Неизвестный
11.01.2007, 03:37
общий
это ответ
Здравствуйте, Lena_25!
Смотрите код в приложении...

Приложение:
#include <iostream>#include <vector>#include <stdlib.h>using namespace std;template <class T>double find_max_of_negative(const vector<T>& v) { int i; int size = v.size(); double max = 1.0; //Find first negative element for(i=0; i<size; i++) { if(v[i] < 0.0) { max = v[i]; break; } } //No negative elements if(max > 0.0) return max; //Continue search and compare for(; i<size; i++) if(v[i] < 0.0) if(v[i] > max) max = v[i]; return max;}int main(int argc, char* argv[]) { const int size = 15; vector<double> a; vector<double> f; int i; for(i=0; i<size; i++) { double temp = static_cast<double>(rand()%100); a.push_back((rand()%2) ? temp : -temp); temp = static_cast<double>(rand()%100); f.push_back((rand()%2) ? temp : -temp); } cout << "Array a:" << endl; for(i=0; i<size; i++) cout << a[i] << " "; cout << endl << "Max negative element in array a: " << find_max_of_negative<double>(a) << endl; cout << "Array f:" << endl; for(i=0; i<size; i++) cout << f[i] << " "; cout << endl << "Max negative element in array f: " << find_max_of_negative<double>(f) << endl; return 0;}
Форма ответа