Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.02.2010, 09:43   #1
серг
Форумчанин
 
Регистрация: 02.11.2009
Сообщений: 179
По умолчанию ошибка в заполнении двумерного массива в файл

Код:
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <iostream>
using namespace std;
#include <time.h>
int main (void)
{
srand (time (0));
int MAS[20],i;
int ch=0,n=0;
FILE *intxt; //Запись исх.данных в файл //“1.txt” 
intxt = fopen ("D:\\1.txt","w+t") ;
for (i=0 ;i<20;i++)
{
*(MAS+i) = rand()%100;
fprintf (intxt, "%4d", *(MAS+i));
printf ("%d\n",*(MAS+i));
}
fclose (intxt);
FILE *out; //Чтение массива из файла //“1.txt” 
out = fopen ("D:\\1.txt","rt") ;
for (i=0 ;i<20;i++)
{
fscanf(out,"%4d",&(*(MAS+i)));
}
FILE *save; //Обработка и запись //результата
save = fopen ("D:\\2.txt","w+t") ; //в другой файл “2.txt”
for (i=0 ; i<20; i++) 
{ 
if (*(MAS+i)%2==0)
   ch++;
   else n++;
}
fprintf (save,"%d", ch);
fprintf(save,"\n");
fprintf (save,"%d", n);
printf ("kolichestvo chet= %d \n\n", ch);
printf ("kolichestvo nechet= %d \n\n", n);
fclose (save);
fclose (out);

//ВТОРАЯ ЧАСТЬ

int j,N=10,M=6;// Размерность масива 
    srand (time (0));
    
	double** mas;
    mas = new double*[N]; // Резервирование памяти для динамического массива
	for(i=0; i<N; i++)
	       mas[i] = new double[M];
	
    FILE *massiv2; //В файл "1.txt" //дописывается
    massiv2 = fopen ("1.txt","at") ; //двумерный массив
    fprintf (massiv2,"\n\n");
    // Заполнение массива
	for (i=0;i<N;i++){	
		for (j=0;j<M;j++) {
             mas[i][j] = rand()%200-200;
                    printf ("%d\n",mas[i][j]);
                       fprintf (massiv2,"%d", mas[i][j]);

                      } 
                      printf ("\n") ;                                  
fprintf (massiv2,"%d", "\n") ;
}

fclose (massiv2);

//cout << mas[0][0] << endl;

FILE *readmassiv2; //Чтение матрицы из файла //"1.txt"
readmassiv2 = fopen ("2.txt","rt");

for (i=0 ; i<N ; i++){ 
for (j=0 ; j<M; j++){
fscanf(readmassiv2,"%d",&mas[i][j]);
}
fscanf(readmassiv2,"\n") ;
}

FILE *obrabotkamassiv2; //Обработка, и результат
obrabotkamassiv2= fopen ("2.txt","at") ; //дописывается в файл //"2.txt" 
fprintf (obrabotkamassiv2,"\n\n" );
// находим отрицательные элементы массива и если элемент меньше нуля то умножается на -1 (получается положительный)
    for (i=0;i<N;i++)	
		for (j=0;j<M;j++)
				if (mas[i][j]<0)
					mas[i][j]=mas[i][j]*(-1);
	                cout<<"\n";
                   // Вывод массива
		for (i=0;i<N;i++)	
	   	   {
			   for (j=0;j<M;j++)
				{
				printf(" %d",mas[i][j]);
				fprintf(obrabotkamassiv2,"%d",mas[i][j]);
				}
                printf("\n");
				fprintf(obrabotkamassiv2,"\n");				
		        }
             fclose (obrabotkamassiv2);
             fclose (readmassiv2);

      // чистка памяти
      for(i=0; i<M; i++)
           delete[] mas[i];
      delete[] mas;

             _getch ();
             return 0;
}
ошибка во второй части в выделенной красным строке
причем компилятор ошибок не видит а ошибка выдается при запуске на выполнение ошибка такая
Microsoft C++ debug library
Debug assertion failed!
program..
File scanf.c
expresion (STREAM!=NULL)
For information how your program can cause an assertion failure,see the Visual C++ documentation on asserts
(press retry to debug the application)

и три кнопки
прервать повтор пропустить

Последний раз редактировалось серг; 19.02.2010 в 09:46.
серг вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сортировка двумерного массива Makarov Помощь студентам 8 29.10.2011 11:55
Сортировка двумерного массива Расим Помощь студентам 7 15.12.2009 22:29
Ошибка при заполнении таблицы masterdela БД в Delphi 6 26.01.2009 01:16
Сохранение двумерного массива в файл AngelOfDeath Общие вопросы Delphi 5 04.10.2008 09:37
Возник вопрос при заполнении массива.. SnakeMan Помощь студентам 8 15.01.2008 12:31