IPB

Здравствуйте, гость ( Вход | Регистрация )

> Лаб.работа (проблема с выводом)
Unsleep
сообщение 5.11.2008, 16:09
Сообщение #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 все элементы (числа) правильно расположены и написаны.
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
 
Ответить в эту темуОткрыть новую тему
Ответов
creer
сообщение 8.11.2008, 10:08
Сообщение #2


Студент
**

Группа: Продвинутые
Сообщений: 121
Регистрация: 28.10.2007
Город: Екатеринбург
Учебное заведение: УГТУ-УПИ
Вы: студент



Можно написать после f.open();
if (f == NULL) сout << "Error";
Если после запуска будет написано "Error", то программа не смогла открыть файл .
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

Сообщений в этой теме


Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия Сейчас: 25.5.2025, 21:45

Книжки в помощь: "Сборник заданий по высшей математике" Кузнецов Л.А., "Сборник заданий по высшей математике" Чудесенко В.Ф., "Индивидуальные задания по высшей математике" Рябушко А.П., и другие.




Зеркало сайта Решебник.Ру - reshebnik.org.ru