我是一名初學者編程員。我必須寫在純方案一個簡單的程序,將打印出給定的高度和寬度(例如4,6)的一個矩形:載體改造載體向量
111111
100001
100001
111111
1是黑色邊框,0是一個空的空間。
我遇到了障礙。 我的解決方案是矢量#(#(111111) (100001) (100001) (100001))
的矢量,因爲它很容易稍後修改。首先,我創建填充零向量的向量,後來我想它的值設置爲1
的問題是,例如,如果我想的第一向量的第一個元素更改爲1,我不知道爲什麼該程序集 :所有向量爲1。所以,我想的第一要素#(100000) (000000) (000000) (000000))
,但我得到#(#(100000) (100000) (100000) (100000))
的代碼是:
(vector-set! (vector-ref vect 0) 0 "1")
沒有人有可能更容易解決的explenation?
對不起,我應該張貼此較早: 我創建它: '(define vect(make-vector h(make-vector w 0)))' 這是問題嗎? – maciek 2013-05-01 19:50:57
@MaciekBąk:是的,情況完全一樣。你創建一個大小爲「w」的向量,然後你將一個引用傳遞給外部的'make-vector',它只是重複引用而不是複製向量。 – 2013-05-01 19:53:49
好吧,我明白了。 但是我不能使用矢量副本或任何其他庫。有沒有簡單的方法來構造一個高度和寬度的二維矢量,以便所有的行都是分開的? – maciek 2013-05-01 20:06:30