2014-02-24 4 views
0

Я работаю над программой C для вводного курса и в настоящее время застрял.Программа, которая считывает данные из файла и печатает на другой

Программа вычисляет приблизительное значение cos (x) через разложение в ряд Тейлора.

Уловка заключается в том, что он считывает ввод данных. файл, состоящий из определенного количества строк по три числа каждый, содержащий информацию, предназначенную для обработки.

Например, дата. Файл может быть:

5 
    1 -1 6 
    2 1 .0001 
    2 1.5 2 
    ... 

Первое число каждой строки определяет, какой метод для вычисления COS (X), второе число определяет значение х и т.д.

я обрабатывать этот файл как многомерный массив :

int array[64][64], m; 
    FILE *ifp 
    ifp = fopen("cos_input.dat", "r"); 

    i = 0; 
    fscanf(ifp, %d\n", &m); //takes the first value into int m 
    while (fscanf(ifp, "%d %d %d\n", &array[i][0], &array[i][1], &array[i][2]) == 3) { 
     i++; 
    } 

^Этот код (я думаю) помещает файл входных данных в массив amx 3.

Теперь мне нужно управлять элементами массива, а затем записывать их в другой выходной файл. Файл, который принимает форму, например:

x = 1 
    x = 2 
    x = 3 
    x = 4 
    ... 

Моя идея для достижения этой цели является первым, реализовать свои другие функции с значениями, хранящимися в многомерном массиве, который я считаю, что я могу сделать, только декларирует каждое значение моего массива и бросание их в вычислительный блендер, который является моими другими функциями. (например, power (array [3] [2], array [1] [2]);) Затем я должен напечатать их в dat. файл, о котором я не знаю, как это сделать.

Это потому, что я очень отрывочен в своих знаниях указателей и функций fprintf/fscanf.

Когда я пишу свои окончательные данные, он будет состоять из некоторого цикла, который выплюнет одно значение в строке. Какой код следует использовать для печати на cos_output.dat? Должен ли я создать новое выражение «ofp» указателя, аналогичное тому, как я создал «ifp», чтобы открыть входной файл и реализовать его с помощью scanf?

Это мой первый и единственный шаг, который я могу придумать до сих пор.

FILE *ofp; //output file pointer 
    ofp = fopen("cos_output.dat", "w"); //the final output data file 
    //.... how to print? T_T 

Спасибо, ваша помощь очень ценится!

(http://ece15.ucsd.edu/Labs/lab3.pdf) < - Ссылка на задание (Проблема 1), только если мои объяснения неясны.

+1

Я думаю, вы действительно должны придумать еще немного кода, хотя ваш вопрос хорошо отформатирован и понятен. –

ответ

0

Вы можете печатать в файл, делая что-то вроде

FILE *ofp; //output file pointer 
ofp = fopen("cos_output.dat", "w"); //the final output data file 
for (i = 0; i < 5; i++) { 
    fprintf(ofp, "x = %d\n", i); 
} 

Это создаст cos_output.dat файл содержит

x = 0 
x = 1 
x = 2 
x = 3 
x = 4 

Вы можете изменить это fprintf() заявление для вывода, что вы хотите. См. fprintf(3) для получения дополнительной информации.

+0

GOT IT !!!!!!!!! – ZumbaLover69

Смежные вопросы