Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Матрица на 64000 элементов

3.8K
19 марта 2006 года
arphey
51 / / 30.10.2004
Люди! Кто знает помогите,нужно заплонить матрицу 64000х64000 элементов, и записать ее в файл. Все вроде заполняю и записываю, но только когда N<64, а когда N>64 в файл записывается какая-то херь!

#include <iostream.h>
#include <string.h>
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>

main()
{
long i,j;
char news[]="\n";
char path[]="sss.txt";
long n=64;
long **a;

a=(long **)calloc(n,sizeof(long*));

for (i=0; i<=n; i++)
{

a=(long *)calloc(n,sizeof(long));

}

for (i=0;i<n;i++)
{
if ((i%2)!=0)
{
for(j=0;j<n;j++)
{
if((j%2)!=0)
{
a[j]=1;
}else
{
a[j]=0;
}
}
}else
{
for(j=0;j<n;j++)
{
if((j%2)!=0)
{
a[j]=0;
}else
{
a[j]=1;
}
}
}
}
FILE* file=fopen(path,"w+");
for (i=0;i<n;i++)
{
for( j=0;j<n;j++)
{
char ss[]="";
itoa(a[j],ss,100);
fwrite(ss,strlen(ss),1,file);
fwrite(" ",strlen(" "),1,file);
}
fwrite(news,strlen(news),1,file);
}
fclose(file);
printf("end");
getch();
}
3.8K
19 марта 2006 года
arphey
51 / / 30.10.2004
Цитата:
Originally posted by arphey
Люди! Кто знает помогите,нужно заплонить матрицу 64000х64000 элементов, и записать ее в файл. Все вроде заполняю и записываю, но только когда N<64, а когда N>64 в файл записывается какая-то херь!

#include <iostream.h>
#include <string.h>
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>

main()
{
long i,j;
char news[]="\n";
char path[]="sss.txt";
long n=64;
long **a;

a=(long **)calloc(n,sizeof(long*));

for (i=0; i<=n; i++)
{

a=(long *)calloc(n,sizeof(long));

}

for (i=0;i<n;i++)
{
if ((i%2)!=0)
{
for(j=0;j<n;j++)
{
if((j%2)!=0)
{
a[j]=1;
}else
{
a[j]=0;
}
}
}else
{
for(j=0;j<n;j++)
{
if((j%2)!=0)
{
a[j]=0;
}else
{
a[j]=1;
}
}
}
}
FILE* file=fopen(path,"w+");
for (i=0;i<n;i++)
{
for( j=0;j<n;j++)
{
char ss[]="";
itoa(a[j],ss,100);
fwrite(ss,strlen(ss),1,file);
fwrite(" ",strlen(" "),1,file);
}
fwrite(news,strlen(news),1,file);
}
fclose(file);
printf("end");
getch();
}

15K
21 марта 2006 года
Red Alert
15 / / 19.03.2006
Цитата:
Originally posted by arphey



Я исходя из твоего кода, советую заменить вот этот фрагмент:

Код:
FILE* file=fopen(path,"w+");
for (i=0;i<n;i++)
{
for( j=0;j<n;j++)
{
char ss[]="";
itoa(a[j],ss,100);
fwrite(ss,strlen(ss),1,file);
fwrite(" ",strlen(" "),1,file);
}
fwrite(news,strlen(news),1,file);
}
fclose(file);


Вот этим:
Код:
FILE* file=fopen(path,"wt+");
for (i=0;i<n;i++)
{
  for( j=0;j<n;j++)
  {
     if (j) fprintf(file," ");
     fprintf(file,"%d",a[j]);
  }
  fprintf(file,"\n");
}
fflush(file);
fclose(file);
3.8K
29 марта 2006 года
arphey
51 / / 30.10.2004
Цитата:
Originally posted by Red Alert
Я исходя из твоего кода, советую заменить вот этот фрагмент:
Код:
FILE* file=fopen(path,"w+");
for (i=0;i<n;i++)
{
for( j=0;j<n;j++)
{
char ss[]="";
itoa(a[j],ss,100);
fwrite(ss,strlen(ss),1,file);
fwrite(" ",strlen(" "),1,file);
}
fwrite(news,strlen(news),1,file);
}
fclose(file);


Вот этим:
Код:
FILE* file=fopen(path,"wt+");
for (i=0;i<n;i++)
{
  for( j=0;j<n;j++)
  {
     if (j) fprintf(file," ");
     fprintf(file,"%d",a[j]);
  }
  fprintf(file,"\n");
}
fflush(file);
fclose(file);


Пасиб!

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог