Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> образ оперативной памяти, нужно чуть чуть поправить код 
V
    Опции темы
romanie
Дата 10.5.2012, 13:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 10.5.2012

Репутация: нет
Всего: нет



ребят, помогите, очень нужно.
 есть задание и есть код, нужно чуть чуть подправить, я не понимаю как

 задание:
 создайте программу, вводящую с клавиатуры произвольное кол-во пар вещественных чисел и записывающую их попарно в виде образа оперативной памяти в файл. после окончания ввода содержащиеся в файле числа попарно считываются из него и суммы их квадратов записываются в текстовый файл в виде отдельных текстовых строк

 вот код, который у меня получился, но нужно сделать так чтобы числа передавались не в file_1, а в виде образа оп памяти, чтобы нельзя было их просмотреть в общем.

Код
#include <stdio.h>
#include <math.h>

int main(void)
{
float var_1,var_2;
FILE *file_1,*out;
char name_file_1[]="name_file_1.txt",name_out[]="name_out.txt";
short flag=0;

file_1=fopen(name_file_1,"w");

while (scanf("%f",&var_2)!=-1)
{
 if (!flag)
 {
 var_1=var_2;
 flag=1;
 }
 else
 {
 fprintf(file_1,"%a%a\n",var_1,var_2);
 flag=0;
 }
}
fclose(file_1);

file_1=fopen(name_file_1,"r");
out=fopen(name_out,"w");

flag=0;
while (fscanf(file_1,"%a",&var_2)!=-1)
{
 if(!flag)
 {
 var_1=var_2;
 flag=1;
 }
 else
 {
 fprintf(out,"%g\n",pow(var_1,2)+pow(var_2,2));
 flag=0;
 }
}

fclose(file_1);
fclose(out);

return 0;
}


Модератор: не забываем пользоваться кнопочкой "Код"

Это сообщение отредактировал(а) bsa - 10.5.2012, 14:31
PM MAIL   Вверх
bsa
Дата 10.5.2012, 14:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 85
Всего: 196



romanie, для записи в виде "образа памяти" (за такой термин руки оторвать надо) в файл, необходимо открыть файл на чтение/запись в двоичном режиме (у fopen второй параметр должен быть "rwb"). Писать нужно с помощью fwrite. Читать, соответственно, fread. Перемещаться по файлу с помощью fseek.
PM   Вверх
borisbn
Дата 10.5.2012, 15:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 4875
Регистрация: 6.2.2010
Где: Ростов-на-Дону

Репутация: 21
Всего: 135



Код

#include <stdio.h>
#include <math.h>
int main(void)
{
float var_1,var_2;
FILE *file_1,*out;
char name_file_1[]="name_file_1.txt",name_out[]="name_out.txt";
file_1=fopen(name_file_1,"wb");
while ( scanf("%f%f",&var_1,&var_2) != 2 )
{
 fwrite( &var_1, sizeof( var_1 ), 1, file_1);
 fwrite( &var_2, sizeof( var_2 ), 1, file_1);
}
fclose(file_1);
file_1 = fopen(name_file_1,"rb");
out=fopen(name_out,"wt");
while ( ! feof( file_1 ) ) {
   fread( &var_1, sizeof( var_1 ), 1, file_1);
   fread( &var_2, sizeof( var_2 ), 1, file_1);
   //fprintf(out,"%g\n",pow(var_1,2)+pow(var_2,2)); // <--- чем сложнее, тем лучше ???
   fprintf( out,"%g\n", var_1 * var_1 + var_2 * var_2 );
}
fclose(file_1);
fclose(out);
return 0;
}




--------------------
Женщины отличаются от программистов тем, что у них чары состоят из стрингов
PM MAIL Jabber   Вверх
romanie
Дата 10.5.2012, 17:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 10.5.2012

Репутация: нет
Всего: нет



спасибо, вопрос решенсибо, вопрос решен
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0434 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.