#include <stdio.h>
#include <conio.h>
#include <alloc.h>
#include <stdlib.h>
#define symbolininput 100
void main()
{
clrscr();
double *a; /* massive for random numbers in input */
double *b; /* massiv for print */
int i,j;
FILE* input_f = fopen("INPUT.TXT", "w+");
if(input_f == NULL)
{
printf("\nError! File don't open for writing");
return;
}
randomize();
a=(double*)malloc(sizeof(double)*symbolininput);
for(i=0; i<=symbolininput; i++)
{
a=random(200)-100;
fprintf(input_f,"%lf",a);
}
fclose(input_f);
input_f = fopen("INPUT.TXT", "r");
if(input_f == NULL)
{
printf("\nError! File don't open for writing");
return;
}
FILE* out_f = fopen("OUTPUT.TXT","w+");
if(out_f == NULL)
{
printf("\nError! File don't open for writing");
return;
}
b=(double*)malloc(sizeof(double)*symbolininput);
И тут я начинаю заниматься фигней и пишу следующее:
for(j=0; j==i; j++)
{
b[j]==a;
}
for(j=0; j<symbolininput; j++)
{
printf("b[%d]=\n",j, b[j]);
}
fclose(input_f);
fclose(out_f);
free (a);
free (b);
while(!kbhit());
}
Массивы и файлы(как присвоить?)
Задание:
Считывание массива из файла. Заполнить одномерный массив данными типа double из текстового файла. Размер массива должен соответствовать объему файла. Массив вывести на экран.
Примечание: Результат работы с данными вывести на экран и в новый файл. Файл с входными данными имеет название INPUT.TXT для текстовых файлов и INPUT.DAT для двоичных. Файл, в который записывается результат, называется OUTPUT.TXT для текстовых файлов или OUTPUT.DAT для двоичных. Для создания файлов с исходными данными можно использовать различные утилиты (например, Binary Viewer). Число элементов при считывании файла определяется его длиной, либо, если этого не определяет алгоритм, двумя сотнями (200). Лучшими решениями считаются те, где нет привязки к количеству элементов в файле. При необходимости можно использовать временный файл для хранения промежуточных результатов.
Я решил не использовать левые программы, а попытался задать через массив рандомные числа в одном файле(INPUT.TXT), а потом присвоить его значения для другого массива, который находится в файле OUTPUT.TXT и вывести значения. Но тут я и завис, так как не понимаю как присвоить значения одного массива к другому. Код:
Код:
Прошу строго не судить, но я просто первую задачу делаю с этими файлами.
Подскажите, пожалуйста. Borland C++ ver.3.1
Пока я это писал... я вдруг понял.. какое я дерево.. Ведь если я задал рандом и спринтефил, то я сейчас могу просто считать те данные, но один фиг... я не знаю как это сделать.
Код:
#include <stdio.h>
#include <conio.h>
#include <alloc.h>
#include <stdlib.h>
#define symbolininput 100
void main()
{
clrscr();
double *a; /* massive for random numbers in input */
double *b; /* massiv for print */
int i,j;
FILE* inputf = fopen("INPUT.TXT", "w+");
if(inputf == NULL)
{
printf("\nError! File don't open for writing");
return;
}
randomize();
a=(double*)malloc(sizeof(double)*symbolininput);
for(i=0; i<=symbolininput; i++)
{
a=random(200)-100;
fprintf(inputf,"%lf\n",a);
}
fclose(inputf);
inputf = fopen("INPUT.TXT", "r");
if(inputf == NULL)
{
printf("\nError! File don't open for writing");
return;
}
FILE* outf = fopen("OUTPUT.TXT","w+");
if(outf == NULL)
{
printf("\nError! File don't open for writing");
return;
}
b=(double*)malloc(sizeof(double)*symbolininput);
for( j=0; j<i; j++)
{
fscanf(inputf,"%lf", &b[j]);
fprintf(outf,"%lf", b[j]);
printf("\nb[%d]= %lf",j, b[j]);
}
fclose(inputf);
fclose(outf);
free (a);
free (b);
while(!kbhit());
}
#include <conio.h>
#include <alloc.h>
#include <stdlib.h>
#define symbolininput 100
void main()
{
clrscr();
double *a; /* massive for random numbers in input */
double *b; /* massiv for print */
int i,j;
FILE* inputf = fopen("INPUT.TXT", "w+");
if(inputf == NULL)
{
printf("\nError! File don't open for writing");
return;
}
randomize();
a=(double*)malloc(sizeof(double)*symbolininput);
for(i=0; i<=symbolininput; i++)
{
a=random(200)-100;
fprintf(inputf,"%lf\n",a);
}
fclose(inputf);
inputf = fopen("INPUT.TXT", "r");
if(inputf == NULL)
{
printf("\nError! File don't open for writing");
return;
}
FILE* outf = fopen("OUTPUT.TXT","w+");
if(outf == NULL)
{
printf("\nError! File don't open for writing");
return;
}
b=(double*)malloc(sizeof(double)*symbolininput);
for( j=0; j<i; j++)
{
fscanf(inputf,"%lf", &b[j]);
fprintf(outf,"%lf", b[j]);
printf("\nb[%d]= %lf",j, b[j]);
}
fclose(inputf);
fclose(outf);
free (a);
free (b);
while(!kbhit());
}