Поставили перед нами три задачи. Очень прошу Вас отнестись с пониманием к несвязанным с программированием специальностям и соответствующим незнанием основ. Сразу скажу, что первую задачу сделать пытался, преподаватель сказал, что вроди всё верно но углублятся в её просмотр не стал, я её скину - тем ккому легче исправить ошибки нежели тратить время на написанеи с нуля прошу её отредактировать...
Далее три этих задачи...
Цитата
Задание 1.
Написать программу cpy, копирующую файл.
В командной строке задаются два имени файла. Нужно скопировать
первый файл во второй. Предусмотреть проверку на совпадение имен исходного
и целевого файлов.
Задание 2.
Входной файл задает последовательность интервалов со
знаковыми границами.
В первой строке файла записано количество интервалов,
в остальных строках записано по два числа, разделенных пробелом,
задающих левую и правую границы интервала.
Написать программу, определяющую, содержится ли интервал [A, B]
в множестве чисел, полученном при объединении всех интервалов
последовательности.
В командной строке задано имя входного файла, число A, число В.
Печатается Yes или No.
Задание 3
Написать программу cat, читающю построчно текстовый файл и выдающую
на стандартный вывод строки задом-наперед.
Пример.
---- входной файл input.txt ----
Book 01 Genesis
001:001 In the beginning God created the heaven and the earth.
001:002 And the earth was without form, and void; and darkness was
upon the face of the deep. And the Spirit of God moved upon
the face of the waters.
001:003 And God said, Let there be light: and there was light.
001:004 And God saw the light, that it was good: and God divided the
light from the darkness.
--------------------------------
запуск: cat input.txt
------------ выдача ------------
siseneG 10 kooB
.htrae eht dna nevaeh eht detaerc doG gninnigeb eht nI 100:100
saw ssenkrad dna;diov dna ,mrof tuohtiw saw htrae eht dnA 200:100
nopu devom doG fo tiripS eht dnA .peed eht fo ecaf eht nopu
.sretaw eht fo ecaf eht
.thgil saw ereht dna :thgil eb ereht teL ,dias doG dnA 300:100
eht dedivid doG dna :doog saw ti taht ,thgil eht was doG dnA 400:100
.ssenkrad eht morf thgil
Вот первая задача...сильно не бейте...Написать программу cpy, копирующую файл.
В командной строке задаются два имени файла. Нужно скопировать
первый файл во второй. Предусмотреть проверку на совпадение имен исходного
и целевого файлов.
Задание 2.
Входной файл задает последовательность интервалов со
знаковыми границами.
В первой строке файла записано количество интервалов,
в остальных строках записано по два числа, разделенных пробелом,
задающих левую и правую границы интервала.
Написать программу, определяющую, содержится ли интервал [A, B]
в множестве чисел, полученном при объединении всех интервалов
последовательности.
В командной строке задано имя входного файла, число A, число В.
Печатается Yes или No.
Задание 3
Написать программу cat, читающю построчно текстовый файл и выдающую
на стандартный вывод строки задом-наперед.
Пример.
---- входной файл input.txt ----
Book 01 Genesis
001:001 In the beginning God created the heaven and the earth.
001:002 And the earth was without form, and void; and darkness was
upon the face of the deep. And the Spirit of God moved upon
the face of the waters.
001:003 And God said, Let there be light: and there was light.
001:004 And God saw the light, that it was good: and God divided the
light from the darkness.
--------------------------------
запуск: cat input.txt
------------ выдача ------------
siseneG 10 kooB
.htrae eht dna nevaeh eht detaerc doG gninnigeb eht nI 100:100
saw ssenkrad dna;diov dna ,mrof tuohtiw saw htrae eht dnA 200:100
nopu devom doG fo tiripS eht dnA .peed eht fo ecaf eht nopu
.sretaw eht fo ecaf eht
.thgil saw ereht dna :thgil eb ereht teL ,dias doG dnA 300:100
eht dedivid doG dna :doog saw ti taht ,thgil eht was doG dnA 400:100
.ssenkrad eht morf thgil
header:
#ifndef HEADER_H
#define HEADER_H
#endif
int cpy(FILE *f1, FILE *f2);
main:
#include "stdio.h"
#include "stdlib.h"
#include "head.h"
#include <stdlib.h>
#include <string.h>
void main(int argc, char *argv[])
{
FILE *fin; FILE *out;
char *f1, *f2; int zn;
char buf[20];
if (argc < 2)
{
scanf("%s %s",buf, &f1, &f2);
zn = strcmp(f1, f2);
if (zn)
{
printf("%s", "имена совпадают");
}
else
{
fin = fopen(f1, "rb");
out = fopen(f2, "wb");
cpy(fin, out);
}
}
else
{
fin = fopen(argv[1], "rb");
out = fopen(argv[2], "wb");
cpy(fin, out);
fclose(fin);
fclose (out);
}
}
func:
#include "stdio.h"
#include "head.h"
#include <stdlib.h>
#include <string.h>
int cpy(FILE *f1, FILE *f2)
{
int a;
int *mal;
mal = (int*)malloc(sizeof(int));
a = fread(mal,1,1024,f1);
while (a)
{
fwrite(mal,1,a, f2);
a = fread(mal,1,1024,f1);
}
return 0;}
нам было сказано юзать fwrite, fread...
Нам это сегодня надо отправить преподу, пожалуйста отнеситесь максимально конструктивно к вопросу...ну оочень важно....