Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

помогите с лабой. работа с файлами(С++).

29K
11 июня 2008 года
kermit
11 / / 16.01.2008
Здравствуйте.
Возникла небольшая проблема с программой, прошу помочь)

Цитата:
Компоненты типизированного файла – массивы, состоящие из 7 вещественных чисел. Вывести на экран те из них, которые не содержат нулей.



вот моя попытка

Код:
#include <cstdlib>
#include <iostream>
#include <fstream>
#include <stdio.h>
#include <algorithm>

using namespace std;

#define N 7

void CreatInFile(const char *InFile, double array[N], int count);  
void ViewFile(const char *InFile);  
void ScreenOut(const char *InFile, double array[N], int count);  
 
int main(int argc, char *argv[])  
{  
  const char first_file[] ={"1.txt"};  
     
 
  double array[N];
  int x;
  int count;
 
  cout<<"Input arrays number:";
  cin>>x;
  cout<<endl;
 
  CreatInFile(first_file, array,x);  
 
  ViewFile(first_file);  
  ScreenOut(first_file ,array,x);  
     
 
  system("PAUSE");  
  return EXIT_SUCCESS;  
}  
 
void CreatInFile(char const *File, double array[N], int count)  
{  
  int i,j;  
  ofstream outFile(File);
  for (j=1; j<=count;j++ )
  {
  for(i=0; i<N; i++)
  {
      array=50-rand()%100/5.25;      
      outFile.width(4);  
 //     outFile<<"  ";
      outFile<< array;  
      }
//  outFile.seekg(0);    
    outFile<<endl;  
  }  
  outFile<<endl;        
  outFile.close();  
}  
 
void ViewFile(const char *File)  
{  
  ifstream file(File);  
  cout<< file.rdbuf();  
  file.close();  
}  
 
void ScreenOut(const char *InFile, double array[N], int count)  
{  
  int i, j, dum;

  ifstream inFile(InFile);  
 
  for(j=0; j<=count-1; j++)
  {
           dum=0;
           for(i=0; i<N; i++)
           {
                    inFile>> array;
                    if(array==0)
                    {
                                  dum++;
                    }
           }
           if(dum==0)
           {
                     for(i=0; i<N; i++)
                     {
                              cout.width(4);
                              inFile.seekg(0);
                              cout<<array;
                     }
                     cout<<endl;
           }
//  inFile.seekg(0);
         //  fseek(inFile,0L,SEEK_SET);
  }
           
  inFile.close();  
     
}



Не получается сделать outFile.seekg(0); в ф-и CreatInFile, или она работает только с ifstream? поправте плиззз
307
11 июня 2008 года
Artem_3A
863 / / 11.04.2008
Цитата: kermit
Вывести на экран...



На сколько я понял тебе надо прочитать из файла массивы и показать те из них которые не содержат нулей. Тогда зачем ты обратно пишешь их в файл?

в общем дело хозяйское, но я бы решил твою задачу так:

Код:
#include <iostream>
#include <fstream>

using namespace std;

const int N = 7;

int main(void)
{
        ifstream in;
        in.open("file.txt");
    double mas[N];
    bool flag = false;
    int i = 0;
    if(in.fail())
    {
        cout << "\nError.";
        system("PAUSE");
        exit(0);
    }
    while(!in.eof())
    {
        for(i=0; i<N; i++)
        {
            in >> mas;
            if(mas==0)
            {
                flag = true;
                break;
            }
        }
        if(flag == false)
        {
            cout << "\n";
            for(i=0; i<N; i++)
            {
                cout << mas<< "\t";
            }
        }
        flag = false;
    }

    cout << "\n";
    system("PAUSE");
    return EXIT_SUCCESS;
}
40K
20 июня 2008 года
Fistashka
1 / / 20.06.2008
я мож канешн чего-то не понимаю,но это на каком языке??
у меня такая же задача на паскале и тож не получается(((
320
20 июня 2008 года
m_Valery
1.0K / / 08.01.2007
Это на С++.Автор,пиши в названии темы язык.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог