![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
Unsleep |
![]()
Сообщение
#1
|
Школьник ![]() Группа: Продвинутые Сообщений: 13 Регистрация: 4.6.2008 Город: Красноярск Учебное заведение: СФУ ![]() |
Помогите пожалуйста, написал лабораторную, компилятор не выдает ни одной ошибки, код по заданному заданию написано совершенно правильно. НО, при запуске программа выдает лишь строчку "vot oni:" (ниже в см. коде) и всё! Никого ничего больше!!!
Прочитать значения вектора чисел с плавающей точкой из текстового файла. Удалить из вектора все элементы, у которых дробная часть содержит больше 3-х значащих цифр. Перед каждым элементом, целая часть которого является нечетным числом, вставить значение его квадрата. Код #include<iostream> #include<vector> #include<fstream> #include<cmath> using namespace std; int function(double n) { int temp; if((n/2)-(int)(n/2)==0) temp=1; else temp=0; return temp; } void main() { double temp; int j,k; vector <double> v; vector <double>::iterator i; fstream f; f.open("1.txt",ios::in); cout<<"vot oni:"<<endl; while(!f.eof()) { f>>temp; if((fabs(temp)-fabs((int)(temp)))!=0) v.push_back(temp); } for(i=v.begin();i!=v.end();i++) cout<<*i<<" "; cout<<endl; f.close(); do {k=0; for(i=v.begin(),j=0;i!=v.end();i++,j++) if((fabs(v[j]*1000)-fabs((int)(v[j]*1000)))>0) { v.erase(i); k++; break; } } while(k==1); for(i=v.begin();i!=v.end();i++) cout<<*i<<" "; cout<<endl; j=0; i=v.begin(); for(;i!=v.end();i++,j++) if(function(fabs((int)(v[j])))==0) { v.insert(i,v[j]*v[j]); k++; j++; i=v.begin()+j; } for(i=v.begin();i!=v.end();i++) cout<<*i<<" "; cout<<endl; } P.S. В файле 1.txt все элементы (числа) правильно расположены и написаны. |
![]() ![]() |
![]() |
Текстовая версия | Сейчас: 25.5.2025, 16:56 |
Зеркало сайта Решебник.Ру - reshebnik.org.ru