Имя пользователя:
Пароль:
 

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

Новый участник


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

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


решил посмотреть как заполняется массив и вот что вышло:

Код: Выделить весь код
#include "stdio.h"
#include "conio.h"
#include "rus8.h"

void main() {

rus();
	
#define NR 7
#define NC 3

	FILE *f;

	float weather[NR][NC];
	int r = 0, c = 0;

	//printf("Введите кол-во измерени	в сутки:");
	//scanf("%i", &a);

	if ((f=fopen("weather.txt", "rt"))==NULL)
	{
		printf("Файл с исходными данными не найден");
		getch();
		return;
	}
	for (r=0; r < NR; r++)
	{
		for(c = 0; c  < NC; c++)
		{
			fscanf(f, "%f", weather[r][c]);
		}
	}

	fclose (f);

	printf("Данные, загруженные из файла в массив:\n");

	for(r = 0; r < NR; r++)
	{
		for(c = 0; c < NC; c++)
		{
			printf("%5.1f", weather[r][c]);
		}
	}

	printf("\n \n я завершения нажминие Ввод");
	getch();
}
или если поменять for на while

Код: Выделить весь код
#include "stdio.h"
#include "conio.h"
#include "rus8.h"

void main() {

rus();
	
#define NR 7
#define NC 3

	FILE *f;

	float weather[NR][NC];
	int r = 0, c = 0;

	//printf("Введите кол-во измерени	в сутки:");
	//scanf("%i", &a);

	if ((f=fopen("weather.txt", "rt"))==NULL)
	{
		printf("Файл с исходными данными не найден");
		getch();
		return;
	}
		while(r < NR)
{
	while(c<NC)
	{
		fscanf(f, "%f", weather[r][c]);
	}
	c++;
}
r++;

	fclose (f);

	printf("Данные, загруженные из файла в массив:\n");

	for(r = 0; r < NR; r++)
	{
		for(c = 0; c < NC; c++)
		{
			printf("%5.1f", weather[r][c]);
		}
	}

	printf("\n \n я завершения нажминие Ввод");
	getch();
}
в файле weather.txt содержится:
23.4 55.2 34.5
54.4 35.6 79.8
45.9 65.8 76.7
23.1 45.2 56.3
34.4 98.5 56.6
12.3 23.2 34.1
98.4 87.3 76.2

При компиляции ошибок нет, а вот при запуске выдает:

Необработанное исключение в "0x691c936c (msvcr90d.dll)" в "p2e1.exe": 0xC0000005: Нарушение прав доступа при записи "0x80000000".

В чем моя ошибка?

Последний раз редактировалось Lisiy_egik, 15-11-2009 в 00:54. Причина: небольшая описка


Отправлено: 00:53, 15-11-2009 | #4

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