Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > [С++] Типизированный файл


Автор: Any77 8.5.2007, 23:06
Помогите написать программу на С++, пожалуйста!

Текст задачи:
Описать логическую функцию Mid(f,m),которая определяет, имеет ли файл f вещественного типа нечетную длину, и, если имеет, присваиваем параметру m средний элемент этого файла.

Заранее спасибо! 

Автор: Vladimir_G 9.5.2007, 04:08
Могу написать для вас эту программу. О моих условиях смотрите по ссылке в подписи. Или пишите на garvs@mail.ru

Автор: ama_kid 9.5.2007, 08:27
Vladimir_G
Мне кажется, Вам http://forum.vingrad.ru/forum/job-search-vacancies-resumes.html. Здесь помогают бесплатно...

Any77
Не совсем понял, что значит 
Цитата(Any77 @  8.5.2007,  23:06 Найти цитируемый пост)
имеет ли файл f вещественного типа нечетную длину
Имеет ли этот файл нечетное количество элементов вещественного типа (который занимает 4 байта (float))? Или в длину в байтах? Как это понимать? Файл может иметь тип в паскале, в С++ он просто FILE... Пока предложу простейший вариант, потом посмотрим...
Код
#include "stdio.h"
#include "stdlib.h"
#include "conio.h"
#include <iostream>

void Mid(FILE *f, char *m)
{
    long f_size;
    fseek(f,0,SEEK_END);
    f_size = ftell(f);
    if (f_size%2)
    {
        fseek(f,-((f_size/2)+1),SEEK_CUR);
        fread(m,sizeof(char),1,f);
    }
}

void main ( ) 
{
    FILE *fp = fopen("d:\\1.txt","rw+");
    char m=0;
    Mid(fp,&m);
    fclose(fp);
    std::cout<<m;
    getch();
}



Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)