Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Foxpro/Clipper/Dbase > Как правильно записать массив в .txt в VFP


Автор: Nikolay 16.11.2004, 19:06
Здравствуйте уважаемые участники форума, у меня такая проблема или вопрос, очень важная. Если кто поможет, буду очень благодарен. smile smile
Задание: Написать программу, которая будет:
1) создавать массив вида:
3
2
1
6
5
4
9
8
7


Этот массив, будет повторяться определенное число раз которое зависит от числа n (n задается вначале)
2)вывести на экран этот массив
3)корректно записать этот массив в файл .txt
Файл .txt должен выглядить следующим образом:
Цитата

3 2 1
6 5 4
9 8 7
и т.д.


Я начинаю только программировать на FoxPro, вот собственно с какими пунктами я справился, точнее часть программы, остается сделать процедуру запись_в_файл и подправить что-то в задать_массив
Цитата

CLEAR
SET DECIMALS TO 0
n=18
n3=n/3
DIMENSION a(n)
задать_массив(@a,n3)
печать_массива(@a,n3)


PROCEDURE задать_массив
LPARAMETERS a,n3
FOR k=1 TO n3
a(k*3-2)=k*3
a(k*3-1)=k*3-1
a(k*3)=k*3-2
ENDFOR

PROCEDURE печать_массива
LPARAMETERS a,n3
FOR k=1 TO n3
?a(k*3-2)
?a(k*3-1)
?a(k*3)

ENDFOR


Вот собственно как зделать процедуру записи в файл, чтобы файл .txt выглядил следующим образом
3 2 1
6 5 4
9 8 7
. . .

ломаю голово уже, ничего на ум не приходит, как так сделать, как я понял нужно как-то через fputs сделать запись к примеру в файл mass.txt
Помогите пожалуйста, мне дали сро ровно 1 день подумать, мне это сдать нужно, у кого не спрашивал не знают как так сделать.

И еще такой вопрос, что нужно подправить в процедуре, чтобы выдавался массив такого вида
3
2
1
6
5
4
9
8
7
3
2
1
6
5
4
и т.д.
а то в моей программе выдается результат так:
3
2
1
6
5
4
9
8
7
12
11
10
15
14
13
18
17
16


Помогите пожалуйста, буду очень благодарен, для меня это очень важно...
Заранее очень благодарен за помощь!
Главно с как правильно записать в файл...??? smile

Автор: vin 25.11.2004, 19:25
В файл можно записать несклькими способами:
например таким:

Код

 fn=fcreate("txt.txt")
 x=""

..здесь начало твоего цикла

x=x+"3"
...
x=x+"2"
...
x=x+"1"+chr(13)


.. здесь конец цикла
fputs(fn,x)

 fclose(fn)


Вот и все.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)