3)уточки. как известно, при разработке и отладке программ большую могут оказать игрушечные жёлтые уточки (
, поэтому денис собрал большую коллекцию жёлтых уточек. коллекция уже настолько большая, что денис решил расставить уточек на полки шкафа. сначала он начал ставить на каждую полку по a уточек, но одна уточка оказалась лишней. тогда он заново начал расставлять уточек на полки, ставя на каждую полку по b уточек, но в этом случае ему не хватило одной уточки, чтобы на каждой полке оказалось ровно b уточек. определите минимальное число уточек, которое могло быть в коллекции дениса.
достоинства растровой графики:
растровая графика предоставляет возможность создавать любые изображения не обращая внимание на сложность их исполнения в отличие от векторной графики, которая неспособна предать хорошо переход цветов от одного к другому.
широкий спектр применения – растровая графика на сегодняшний день нашла широкое применение в различных областях, от мелких изображений (иконок) до крупных (плакатов).
высокая скорость обработки изображений различной сложности, при условие что нет необходимости в их масштабирование.
представление растровой графики является естественным для большинства устройств и техники ввода-вывода графики.
недостатки растровой графики:
большой размер файлов с простыми растровыми изображениями.
невозможно увеличение изображения в масштабе без потери качества.
вывод изображения при печати на плоттер является затруднительным.
при хорошем качестве изображения требуются значительный объем дискового пространства для хранения файлов.
сложность преобразования растрового изображения в векторное.
исходя из вышеуказанных недостатков хранить простые рисунки рекомендуется не в сжатой растровой графике, а использовать векторную.
достоинства векторной графики:
масштабирование размеров без потери качества изображения.
масштабированные изображения не увеличиваются в весе ни на один байт.
во время масштабирования качество, резкость, четкость и цветовые оттенки изображений не .
вес изображения в векторном формате в разы меньше веса изображения в растровом формате.
при конвертации изображения из векторного формата в растровый, не возникает никакой сложности.
толщина линий при изменение масштаба (увеличение или уменьшение) объектов может не изменяться.
недостатки векторной графики:
в векторной графике можно изобразить далеко не каждый объект. объем памяти и интервал времени на отображение векторной графики зависит от количества объектов и их сложности.
после преобразование из растрового изображения в векторное, обычно качество векторного изображения не высокое.
я думаю она нужна.
#include
#include
#include
#include
#include
#include
typedef struct
{
char imya[40];
char familiya[40];
char otchestvo[40];
int telefon;
int texpasport;
float pages ;
}gor;
void form(char mass[10], char *imya, char *familiya, char *otchestvo, int telefon, int texpasport)
{
file *f;
gor y;
int i;
if ((f=fopen(mass,"w"))==null) exit(1);
for (i=1; i< =3; i++)
{
cout< < "vvedite imya: ";
cin> > imya;
cout< < "vvedite familiya: ";
cin> > familiya;
cout< < "vvedite otchestvo: ";
cin> > otchestvo;
cout< < "vvedite telefon: ";
cin> > telefon;
cout< < "vvedite texpasport: ";
cin> > texpasport;
fwrite(& y,sizeof(gor),1,f);
if(ferror(f)! =null)
exit(2);
}
fclose(f);
}
void vivod(char mass[50])
{
file *f;
gor z;
if ((f=fopen(mass, "r"))==null) exit(3);
cout< < "fail: "<
while (! feof(f)) {
fread (& z,sizeof(gor),1,f);
if (! feof(f))
{
cout< < "imya: "<
cout< < "familiya: "<
cout< < "otchestvo: "<
cout< < "telefon: "<
cout< < "texpasport: "<
}
fclose(f);
}
}
void del(char fo[10], char fi[10])
{
file *f1,*f2;
gor d;
//char temp[40];
if ((f1=fopen(fi,"r"))==null) exit(4);
if ((f2=fopen(fo,"w"))==null) exit(5);
//cout < < "vvedite nazvanie na ydalenie - ";
//cin > > temp;
for (int i=0; i< 3; i++)
{
fread(& d,sizeof(gor),1,f1);
if (feof(f1)) break;
if (i> 2)
fwrite (& d,sizeof(gor),1,f2);
}
fclose(f2);
fclose(f1);
}
void dobav(char fi[10], char fo[10],char *imya, char *familiya, char *otchestvo, int telefon, int texpasport)
{
int q;
int i;
gor d;
file *f1,*f2;
char temp[40];
if ((f1=fopen(fi, "r"))==null) exit(4);
if ((f2=fopen(fo,"r+"))==null) exit(5);
cout < < "vvedite familiu, pered kotorym nuzno dobavit element: ";
cin > > temp;
for (i=0; i< 10; i++)
{
fread(& d,sizeof(gor),1,f2);
if (feof(f2)) break;
if (strcmp(d.familiya, temp)) break;
q=i;
}
for (i=0; i< 10; i++)
{
if (feof(f2)) break;
fwrite (& d,sizeof(gor),1,f2);
if (i==q-1)
{
cout< < "vvedite imya: ";
cin> > imya;
cout< < "vvedite familiya: ";
cin> > familiya;
cout< < "vvedite otchestvo: ";
cin> > otchestvo;
cout< < "vvedite telefon: ";
cin> > telefon;
cout< < "vvedite texpasport: ";
cin> > texpasport;
cout <
}
}
fclose(f2);
fclose(f1);
}
void main()
{
int n=10;
//cout < < "vvedite kol-vo zapisey: - ";
//cin> > n;
//cout <
form("f1.txt",n);
vivod("f1.txt");
del("f1.txt","f2.txt");
cout < < "posle udalenia: \n";
vivod("f2.txt");
getch();
n=1;
system("cls");
dobav ("f2.txt","f2.txt");
cout < < "posle dobavlenia: \n";
vivod ("f2.txt");
getch();
}