텍스트 파일에서 x 및 y 좌표를 읽은 다음 다항 회귀에 사용해야합니다. 회귀 부분은 할 수 있지만 파일에서 값을 읽을 수 없습니다. 데이터 포인트는
5,10,15,20,25,30,35,40,45,50
17,24,31,33,37,37,40,40,42,41
첫 번째 행은 x이고 두 번째 행은 y이며 txt 파일에 정확히 이렇게 기록됩니다.
다른 질문에서 나는 모든 숫자를 20의 단일 x 배열로 읽을 수 있었지만 실제로는 x와 y로 별도의 배열로 필요합니다. 어떻게 할 수 있습니까? 내 현재 코드는 다음과 같습니다.
#include <stdio.h>
#include <stdlib.h>
int main()
{
FILE *data;
data = fopen("data.txt", "r");
int x[20];
int i=0;
for(i=0; i<20; i++)
fscanf(data, "%d,", &x[i]);
for(i=0; i<20; i++)
printf("x are: %d\n", x[i]);
fclose(data);
return 0;
}
미리 감사드립니다.
질문에서 언급했듯이 항상 한 줄에 10 int가 있고 다른 줄에 10 더 많은 int가 있으면 하나 이상의 배열 int y[10];
을 사용하여 y
값 을 저장할 수 있습니다. 그리고 두 개의 for
루프를 사용합니다. 하나는 10 x 값을 읽기위한 것이고 다른 하나는 10 y 값을 읽기위한 것입니다. 그리고 두 배열 모두 10
요소 만 저장하면됩니다 .
int x[10];
int y[10]; // Array to store y values
int i=0;
for(i=0; i<10; i++) // Read first 10 values to x array
fscanf(data, "%d,", &x[i]);
for(i=0; i<10; i++) // Read next 10 values to y array
fscanf(data, "%d,", &y[i]);
for(i=0; i<10; i++)
printf("x are: %d\n", x[i]);
for(i=0; i<10; i++)
printf("y are: %d\n", y[i]);
그러나 해당 행에 10 개보다 많거나 적은 정수의 수가 다를 수있는 가능성이있는 경우 더 많은 검사를 수행해야합니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다