Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / как отсортировать входной поток чисел в масив / 4 сообщений из 4, страница 1 из 1
22.03.2009, 09:02
    #35883913
mich67
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как отсортировать входной поток чисел в масив
Есть входной поток чисел (повторяющихся), например 1,2,3,4,5,2,3,5,4,2,1...надо их отсортировать по-строчно, т.е. в первой строке по порядку 1,2,3,4,5 а дальше вторая строка2,3,5,4 если есть отсутствующие значит пусто, третья начинается с 2 и если встретится отсутствуееще число у нас 1 значит записать во вторую строку. ПОдскажите как в FOXPRO можно это реализовать
...
Рейтинг: 0 / 0
24.03.2009, 12:02
    #35887700
LUCIAN
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как отсортировать входной поток чисел в масив
mich67,
Это подойдёт ?
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
SELECT  0 
CREATE CURSOR CCIS (CIS I( 4 ))
INSERT INTO CCIS VALUES ( 1 )
INSERT INTO CCIS VALUES ( 2 )
INSERT INTO CCIS VALUES ( 3 )
INSERT INTO CCIS VALUES ( 4 )
INSERT INTO CCIS VALUES ( 5 )
INSERT INTO CCIS VALUES ( 2 )
INSERT INTO CCIS VALUES ( 3 )
INSERT INTO CCIS VALUES ( 5 )
INSERT INTO CCIS VALUES ( 4 )
INSERT INTO CCIS VALUES ( 2 )
INSERT INTO CCIS VALUES ( 1 )
SELECT CIS,COUNT(*) KCIS FROM CCIS GROUP BY  1  INTO CURSOR C1 READWRITE
KPL=_TALLY
DIMENSION MSTRU(KPL, 4 )
FOR I= 1  TO KPL
	MSTRU(I, 1 )="P"+LTRIM(STR(I))
	MSTRU(I, 2 )="I"
	MSTRU(I, 3 )= 4 
	MSTRU(I, 4 )= 0 
ENDFOR
SELECT  0 
CREATE CURSOR CSTR FROM ARRAY MSTRU
DIMENSION MCIS(KPL)
SUMI= 1 
DO WHILE SUMI> 0 
	SELECT 	C1
	SUMI= 0 
	SCAN
		MCIS(RECNO())=IIF(C1.KCIS> 0 ,C1.CIS, 0 )
		REPLACE C1.KCIS WITH IIF(MCIS(RECNO())> 0 ,C1.KCIS- 1 , 0 )
		SUMI=SUMI+C1.KCIS
	ENDSCAN
	SELECT CSTR
	APPEND BLANK
	GATHER FROM MCIS
ENDDO
SELECT CSTR
BROW
...
Рейтинг: 0 / 0
24.03.2009, 12:42
    #35887863
LUCIAN
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как отсортировать входной поток чисел в масив
mich67,

или так
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
SELECT  0 
CREATE CURSOR CCIS (CIS I( 4 ))
INSERT INTO CCIS VALUES ( 1 )
INSERT INTO CCIS VALUES ( 2 )
INSERT INTO CCIS VALUES ( 3 )
INSERT INTO CCIS VALUES ( 4 )
INSERT INTO CCIS VALUES ( 5 )
INSERT INTO CCIS VALUES ( 2 )
INSERT INTO CCIS VALUES ( 3 )
INSERT INTO CCIS VALUES ( 5 )
INSERT INTO CCIS VALUES ( 4 )
INSERT INTO CCIS VALUES ( 2 )
INSERT INTO CCIS VALUES ( 1 )
SELECT CIS,COUNT(*) KCIS FROM CCIS GROUP BY  1  INTO CURSOR C1 READWRITE
KPL=_TALLY
SUMI= 1 
i= 0 
DO WHILE SUMI> 0 
	SELECT 	C1
	SUMI= 0 
	SCAN
		i=i+ 1 
		DIMENSION MCIS(i,KPL)
		MCIS(i,RECNO())=IIF(C1.KCIS> 0 ,C1.CIS, 0 )
		REPLACE C1.KCIS WITH IIF(MCIS(i,RECNO())> 0 ,C1.KCIS- 1 , 0 )
		SUMI=SUMI+C1.KCIS
	ENDSCAN
ENDDO
DISPLAY MEMORY LIKE mcis

...
Рейтинг: 0 / 0
24.03.2009, 12:47
    #35887890
LUCIAN
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как отсортировать входной поток чисел в масив
LUCIAN,в предыдущем i=i+1 не там стоит надо так

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
SELECT  0 
CREATE CURSOR CCIS (CIS I( 4 ))
INSERT INTO CCIS VALUES ( 1 )
INSERT INTO CCIS VALUES ( 2 )
INSERT INTO CCIS VALUES ( 3 )
INSERT INTO CCIS VALUES ( 4 )
INSERT INTO CCIS VALUES ( 5 )
INSERT INTO CCIS VALUES ( 2 )
INSERT INTO CCIS VALUES ( 3 )
INSERT INTO CCIS VALUES ( 5 )
INSERT INTO CCIS VALUES ( 4 )
INSERT INTO CCIS VALUES ( 2 )
INSERT INTO CCIS VALUES ( 1 )
SELECT CIS,COUNT(*) KCIS FROM CCIS GROUP BY  1  INTO CURSOR C1 READWRITE
KPL=_TALLY
SUMI= 1 
i= 0 
DO WHILE SUMI> 0 
	SELECT 	C1
	SUMI= 0 
	i=i+ 1 
	SCAN
		DIMENSION MCIS(i,KPL)
		MCIS(i,RECNO())=IIF(C1.KCIS> 0 ,C1.CIS, 0 )
		REPLACE C1.KCIS WITH IIF(MCIS(i,RECNO())> 0 ,C1.KCIS- 1 , 0 )
		SUMI=SUMI+C1.KCIS
	ENDSCAN
ENDDO
DISPLAY MEMORY LIKE mcis

...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / как отсортировать входной поток чисел в масив / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]