Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Название темы: заполнение массива
Показать сообщение отдельно

Ветеран


Сообщения: 514
Благодарности: 18

Профиль | Отправить PM | Цитировать


Сделал, пользуйте...
Код: Выделить весь код
//---------------------------------------------------------------------------

#include <stdio.h>
#include <string.h>
#include <dos.h>
#include <vcl.h>
#pragma hdrstop
#pragma argsused

int main(int argc, char* argv[])
{
char sim[63];  // максимально возможная длина числа
int a, b, eatt=0, numa=0,numb=0,
numstr[1000]; // количество чисел в каждой строке
double number[1000][100]; // массив всех чисел, построчно

   FILE*fp1;

if ((fp1=fopen("1397000.txt", "r"))==NULL)  // считывание чисел из файла 1397000.txt
{
 printf ("not file");
 return 0;
}

do {                 //*******
fscanf(fp1, "%c", &sim[eatt]);

do                   //*
if    ( sim[eatt]=='0' || sim[eatt]=='1' || sim[eatt]=='2' || sim[eatt]=='3' ||
        sim[eatt]=='4' || sim[eatt]=='5' || sim[eatt]=='6' || sim[eatt]=='7' ||
        sim[eatt]=='8' || sim[eatt]=='9' || sim[eatt]=='.' || sim[eatt]=='-')
    {eatt++; fscanf(fp1, "%c", &sim[eatt]); } else break;
 while (true);      //*

if (sim[eatt]==' ') {number[numa][numb]=atof(sim); numstr[numa]=numb; numb++; eatt=0;}
if (sim[eatt]=='\n') {number[numa][numb]=atof(sim); numstr[numa]=numb; numb++; eatt=0; numa++; numb=0;}

}                    //*******
while (!feof(fp1));  //*******


  fclose(fp1);

         // ввод всех преобразованных чисел (в double) в файл   1397001.txt
FILE*fp;
fp=fopen("1397001.txt", "w");

for (a=0; a<=numa-1; a++)
{
for (b=0; b<=numstr[a]; b++)
 fprintf (fp,"%f ",number[a][b]);
   fprintf (fp,"\n");
  }

fclose(fp);

        return 0;
}
//---------------------------------------------------------------------------
Это сообщение посчитали полезным следующие участники:

Отправлено: 17:52, 19-11-2009 | #15

Название темы: заполнение массива