Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.06.2011, 21:52   #1
Catherina14
Пользователь
 
Регистрация: 27.06.2011
Сообщений: 12
По умолчанию файлы на С

Задать файл, содержащий координаты левого верхнего и нижнего правого угла прямоугольника – целые числа типа int. Определить площадь каждого прямоугольника, упорядочить эти значения по возрастанию и записать в файл.
Нужно решит задачу на C

я знаю как ее решать (алгоритм), но прошу дать ссылку на похожую задачу или подсказать как создать два файла: 1-ый для координат; 2-ой для площадей
Catherina14 вне форума Ответить с цитированием
Старый 27.06.2011, 21:57   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Насколько я понял первый файл не создается а читается: fopen(файл,"r") и fscanf(файл,...)
А второй создается fopen(файл2,"w"); fprintf(...);
Если ты не умеешь работать с файлами, то рекомендую почитать про эти функции/
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 27.06.2011, 22:02   #3
alexcoder
Форумчанин
 
Регистрация: 31.05.2009
Сообщений: 786
По умолчанию

http://www.codenet.ru/progr/cpp/spru/fopen.php
Вам скорей всего понадобится двоичный файл:
Цитата:
подсказать как создать два файла: 1-ый для координат
Код:
f=fopen("coord.dat","wb");
Помощь с программами:
vk.com/alexcoder1
e-mail: informatik101@mail.ru
alexcoder вне форума Ответить с цитированием
Старый 27.06.2011, 22:30   #4
Catherina14
Пользователь
 
Регистрация: 27.06.2011
Сообщений: 12
По умолчанию

создаем файл для координат таким образом???
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <stdlib.h>
struct koord{
int a;
int b;
int c;
int d;
} zap[40], zap1[40],t;
FILE *Fzap;
void main(void)
{ int i,j,S,size=sizeof(koord),N,nn=0,otd ;
clrscr();

Fzap=fopen("d:\\documents and settings\katrin\Рабочий стол\zadanie2\koord.dat","wb");
puts("Vvedi kol-vo pramoygolnikov ");
fflush(stdin);
scanf("%d",&N);
printf(" n=%d\n",N);
for (j=0; j<N; j++)
{ puts("vvedi a ");
fflush(stdin);
scanf("%d",zap[j].a);
puts("vvedi b");
fflush(stdin);
scanf("%d",zap[j].b);
puts("vvedi c");
fflush(stdin);
scanf("%d",&zap[j].с);
puts("vvedi d");
fflush(stdin);
scanf("%d",zap[j].d);
fwrite(&zap[j], size, 1, Fzap);
}

puts("\ninfo");
for (j=0; j<N; j++)
{
printf("%3d %3d %3d %3d \n",zap[j].a, zap[j].b,zap[j].c,zap[j].d);
}

Последний раз редактировалось Catherina14; 28.06.2011 в 12:49.
Catherina14 вне форума Ответить с цитированием
Старый 27.06.2011, 23:33   #5
alexcoder
Форумчанин
 
Регистрация: 31.05.2009
Сообщений: 786
По умолчанию

Особо не вникал, но:
в строках типа
Код:
scanf("%d",zap[j].a);
нужно писать:
Код:
scanf("%d",&zap[j].a);
то есть указатель на переменную, странно, что где-то есть а где-то нет...
Ну а в остальном не проверял, примерно так, может даже и будет работать
Помощь с программами:
vk.com/alexcoder1
e-mail: informatik101@mail.ru
alexcoder вне форума Ответить с цитированием
Старый 28.06.2011, 18:19   #6
Catherina14
Пользователь
 
Регистрация: 27.06.2011
Сообщений: 12
По умолчанию

вот код, но у меня не работает цикл (не выдает "неверное условие"), там a--x1, b--y1, c--x2, d--y2

#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <stdlib.h>
#include <math.h>
struct koord{
int a;
int b;
int c;
int d;
} zap[40], zap1[40],t;
FILE *Fzap;
void main(void)
{ int i,j,a,b,c,d,S,size=sizeof(koord),N, nn=0;
clrscr();

Fzap=fopen("d:\\koord.dat","wb");
puts("Vvedi kol-vo pramoygolnikov ");
fflush(stdin);
scanf("%d",&N);
printf(" n=%d\n",N);
for (j=0; j<N; j++)
{ puts("vvedi a ");
fflush(stdin);
scanf("%d",&zap[j].a);
puts("vvedi b");
fflush(stdin);
scanf("%d",&zap[j].b);
puts("vvedi c");
fflush(stdin);
scanf("%d",&zap[j].c);
puts("vvedi d");
fflush(stdin);
scanf("%d",&zap[j].d);
fwrite(&zap[j], size, 1, Fzap); //5
}
{
if ((c>a) && (d<b)) S=fabs((c-a)*(b-d));
else puts("\n nevernoe yslovie");
}

puts("\ninfo");
for (j=0; j<N; j++)
{
printf("%3d %3d %3d %3d \n",zap[j].a, zap[j].b,zap[j].c,zap[j].d);
}

fclose(Fzap);
getch();
}

Последний раз редактировалось Catherina14; 28.06.2011 в 21:03.
Catherina14 вне форума Ответить с цитированием
Старый 28.06.2011, 21:05   #7
Catherina14
Пользователь
 
Регистрация: 27.06.2011
Сообщений: 12
По умолчанию

и еще вопрос: как записать в файл площади???
t - это буферная переменная, zap1 - для упорядоченных площадей
Catherina14 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Файлы (текстовые файлы) Finn4ik Помощь студентам 0 25.04.2011 21:42
Не сохраняет файлы (Создает файлы пустышки) Rock231 Помощь студентам 2 25.12.2010 12:31
Файлы данных.Типизированные файлы. вылка Помощь студентам 6 17.05.2010 15:42
два вредных вопроса:про асю и прикриплёные файлы файлы steck Свободное общение 3 17.06.2007 14:53