Другие языки программирования и технологии

Почему у меня прога вместо минимума пишет (0) . С++

#include "stdafx.h"
#include <conio.h>
#include <math.h>
#include <locale.h>
#include <iostream>
//#define abs(mass)

int _tmain(int argc, _TCHAR* argv[])

{

using namespace std;
setlocale(LC_ALL, "RUSSIAN");
int i;
float min, max;
float r[4];
int a;
float proiz;
float mass[4]={ };
cout << "Введите элементы массива:\n";
for (i = 0; i < 4; i++)
{
cout << "mass[" << i << "] -> ";
cin >> mass;
}
min = mass[0];
max = mass[0];
for (i = 1; i < 5; i++)
{
if (mass < min)
{
min = mass;
}
if (mass > max)
{
max = mass;
}

}
printf("min = %f\n", min);
printf("max = %f\n", max);
getch();

}
Капитан прав, у тебя цикл поиска проверяет что-то левое. А вообще тут "смешались в кучу люди, кони... ", т. е. С++ и Си.

#include <iostream>
#include <clocale>

int main() {
using namespace std;
setlocale(LC_ALL, "RUSSIAN");
int i;
float min, max;
float r[4];
float mass[4];
cout << "Введите элементы массива: \n";
for (i = 0; i < 4; i++) {
cout << "mass[" << i << "] -> ";
cin >> mass[ i];
}
min = mass[0];
max = mass[0];
for (i = 1; i < 4; i++) {
if (mass[ i] < min) min = mass[ i];
if (mass[ i] > max) max = mass[ i];
}
cout << "min = " << min << endl;
cout << "max = " << max << endl;
cin.get(); cin.get();
return 0;
}

Вообще, для поиска максимума и минимума уже есть стандартные функции:

#include <algorithm>
#include <iostream>
#include <clocale>

using namespace std;

int main() {
setlocale(LC_ALL, "RUSSIAN");
int i;
float min, max;
float mass[4];
cout << "Введите элементы массива: \n";
for (i = 0; i < 4; i++) {
cout << "mass[" << i << "] -> ";
cin >> mass[ i ];
}

min = *min_element(mass, mass + 4);
max = *max_element(mass, mass + 4);

cout << "min = " << min << endl;
cout << "max = " << max << endl;

cin.get(); cin.get();
return 0;
}
Армен Саргсян
Армен Саргсян
68 902
Лучший ответ
У тебя цикл на for (i = 1; i < 5; i++) до 4, а номера элементов только до 3. Вот и подхватывается что-то левое.
доступ к элементам массива mass [ i ].