Посмотрите пожалуйста что с выводом в case 6 выводит:-6.27744e+066 3)
Код:
// РОБОЧА.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include <fstream>
#include <iostream>
#include <vector>
#include "windows.h"
#include <math.h>
#define lMas 10 // довжина масиву
using namespace std;
const char * outName = "output.txt";
const double masiv[lMas] = {12, -0.7, 0.5, 3.5, -1, -9, 0.2, -0.2, 0.3, 8};
char* Rus(const char* text);
void init()
{
cout<<Rus("________________________________________________________________________________");
cout<<Rus(" Курсова робота ");
cout<<Rus(" на тему: Програма обробки масиву ");
cout<<Rus(" студента групи К 4-2 ");
cout<<Rus(" Кримовського Юрiя ");
cout<<Rus("________________________________________________________________________________");
cout<<Rus(" ");
}
int menu()
{
int vubir;
cout<<"\n";
cout<<Rus(" 1.Виконати iнiцiалiзацiю.\n");
cout<<Rus(" 2.Ввести данi самостiйно.\n");
cout<<Rus(" 3.Вивести значення масива.\n");
cout<<Rus(" 4.Визначити номер мiнiмального елемента.\n");
cout<<Rus(" 5.Cумa елементiв масива розташованих мiж першим та другим\n негативним елементом.\n");
cout<<Rus(" 6.Елементи модуль яких не перевищує 1, а потiм всi iншi.\n");
cout<<Rus(" 7.Вихiд з програми.\n");
cout<<"\n";
cout<<Rus("Зробiть свiй вибiр: ");
cin>> vubir;
cout<<"\n";
return vubir;
}
int n;
int i;
double sum = 0;
double mi = 999999999.0;
int f = -1,t = -1,mii;
vector <double> ms,ansms;
ofstream fout(outName);
int process()
{
int vubir = menu();
switch(vubir) // виконання дії згідно введеного варіанту
{
case 1:
{
ms.resize(lMas);
for(i = 0; i < lMas; i++)
ms[i] = masiv[i];
n = lMas;
cout<<Rus("\n");
cout<<Rus("________________________________________________________________________________");
cout<<Rus("\n");
cout<<Rus(" Iнiцiалiзацiя виконана\n");
cout<<Rus("________________________________________________________________________________");
break;
}
case 2:
{
cout << Rus("Введiть длiнну масива:\n");
cin >> n;
ms.resize(n);
for(i = 0; i < n; i++)
{
cout << "ms[" << i + 1 << "] = ";
cin >> ms[i];
}
break;
}
case 3:
{
cout << Rus("Элементи массива:") << endl;
for(i = 0; i < n; i++)
cout << "ms[" << i + 1 << "] = " << ms[i] << endl;
break;
}
case 4:
{
mi = 9999999.0;
for(i = 0; i < n; i++)
{
if(ms[i] < mi)
{
mi = ms[i];
mii = i + 1;
}
}
fout <<"1) " << " (ms[" << mii << "])" << endl;
cout<<Rus("________________________________________________________________________________\n");
cout <<Rus("Номер мiнiмального елемента масиву: ")<< mii << endl;
cout<<Rus("________________________________________________________________________________");
break;
}
case 5:
{
sum = 0.0;
for(i = 0; i < n; i++)
if(ms[i] < 0)
{
if(f == -1)
f = i;
else if(t == -1)
t = i;
}
for(i = f + 1; i < t; i++)
sum += ms[i];
fout <<"2) " << sum << endl;
cout<<Rus("________________________________________________________________________________\n");
cout << Rus("Cумa елементiв: " )<< sum << endl;
cout<<Rus("________________________________________________________________________________");
break;
}
case 6:
{
ansms.clear();
for(i = 0; i < n; i++)
if(ms[i] <= 1.0 && ms[i] >= -0.9)
ansms.push_back(ms[i]);
for(i = 0; i < n; i++)
if(ms[i] > 1.0 || ms[i] < -0.9)
ansms.push_back(ms[i]);
fout << ansms[i] << " ";
fout <<"3) ";
cout<<Rus("________________________________________________________________________________\n");
cout<< Rus("3)Елементи модуль яких не перевищує 1, а потiм всi iншi: ");
for(i = 0; i < n; i++)
cout << ansms[i] << " ";
cout<<Rus("\n");
cout<<Rus("________________________________________________________________________________");
break;
}
case 7:
{
return 1; // виходимо з програми
}
}
return 0;
}
int main()
{
init();
while(process() != 1);
}
char bufrus[256];
char* Rus(const char* text){
CharToOem(text,bufrus);
return bufrus;}