Моя программа должна прочитать ввод из файла. Файл имеет формат «int int int», а затем несколько звездочек, чтобы указать, что вам нужно прекратить чтение. Я хочу сохранить их в массиве структур, что я и сделал. Но похоже, что моя программа не может прочитать самое первое целое число входного файла. Я проверил это с помощью printf и ничего не могу с этим поделать. Помогите, пожалуйста. Вот код:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
struct points{
int i;
int x;
int y;
};
int main(){
int lines = 0;
char c, e;
int i, j, x ,y, a, b, temp ;
FILE *fp;
fp = fopen("input.txt", "r");
if (fp != NULL){
while ((e = fgetc(fp)) != '*'){
if (c == '\n'){
lines++;
}
fscanf(fp, "%d%d%d", &i, &x, &y);
struct points pt[lines];
for (j = 0; j <= lines; j++){
pt[j].i = i;
pt[j].x = x;
pt[j].y = y;
printf("%d ", pt[j].i);
}
for (a = 0; a<=lines; a++){
for (b = a + 1; b <= lines; b++){
if (pt[a].x > pt[b].x){
temp = pt[a].x;
pt[a].x = pt[b].x;
pt[b].x = temp;
}
}
}
}
}
else{
printf("Cannot open File!\n");
}
printf("lines = %d\n", lines);
return 0;
}
for (j = 0; j <= lines; j++){
должно бытьfor (j = 0; j < lines; j++){
ИМХО. 2) Кстати: вы собираетесь сначала подсчитать '\n', а затем перемотать и прочитать фактические строки? - person wildplasser   schedule 11.07.2013