assuming, vector a b c d e are already defined.

I'd do

user=> (map vector a b c d e)
([2 1 2 6 4] [4 3 4 1 8] [6 9 5 3 2] [7 2 6 8 1])

you can then use the solutions provided from previous messages
to find the min value of each vector.

so you then end up with

[0 1 0 0 0] [0 0 0 1 0] [0 0 0 0 1] [0 0 0 0 1]

at that point, you repeat the same trick

(map vector [0 1 0 0 0] [0 0 0 1 0] [0 0 0 0 1] [0 0 0 0 1])

and that will give you

[0 0 0 0] [1 0 0 0] [0 0 0 0] [0 1 0 0] [0 0 1 1]


On Wed, Dec 2, 2009 at 6:22 PM, Don <josereyno...@gmail.com> wrote:
> Thank you Stefan and Kevin.  Awesome solutions that answer my
> question.  However I actually made a mistake in posing my question.
> Let me attempt to ask my question again.
>
>  I have 5 vectors as such:
>  a [2 4 6 7]
>  b [1 3 9 2]
>  c [2 4 5 6]
>  d [6 1 3 8]
>  e [4 8 2 1]
>
> and the output i want is this
>
> a1 [0 0 0 0]
> b1 [1 0 0 0]
> c1 [0 0 0 0]
> d1 [0 1 0 0]
> e1 [0 0 1 1]
>
> Now I'm not sure if it can  be done in one swoop, or should be done in
> a loop.  I was thinking a loop, but I'm having trouble thinking about
> it.
>
> I initially thought of creating a function that takes in 5 vectors and
> returns a single vector.  So the first time its called it  would
> return a1 [0 0 0 0] then call it again and return b1 [1 0 0 0] etc...
> I know it will repeat calculations however I couldn't come up with
> anything else.
>
> Thank you.
>
> On Dec 2, 2:55 pm, Kevin Downey <redc...@gmail.com> wrote:
>> user=> (vec (map min [2 4 6 7] [1 3 9 2] [2 4 5 6] [6 1 3 8] [4 8 2 1]))
>> [1 1 2 1]
>> user=>
>>
>> On Wed, Dec 2, 2009 at 2:53 PM, Stefan Kamphausen
>>
>>
>>
>>
>>
>> <ska2...@googlemail.com> wrote:
>> > Hi,
>>
>> > On Dec 2, 11:43 pm, Don <josereyno...@gmail.com> wrote:
>> >> I am having difficulty approaching this problem.  I'm not sure if it
>> >> can be done in one swoop, or requires a few steps.
>>
>> >> I have 5 vectors as such:
>>
>> >> a [2 4 6 7]
>> >> b [1 3 9 2]
>> >> c [2 4 5 6]
>> >> d [6 1 3 8]
>> >> e [4 8 2 1]
>> >> And I want to take the minimum value at a given index between the
>> >> vectors.  Therefore, minimum value at index 0 would yield the value 1
>> >> from vector b.
>>
>> > a quick shot would be
>>
>> > (reduce min (map #(get % 0) (list a b c d e)))
>>
>> > It would be nicer to have a vector of vectors or a list of vectors at
>> > the beginning, probably.
>>
>> > Cheers,
>> > Stefan
>>
>> > --
>> > You received this message because you are subscribed to the Google
>> > Groups "Clojure" group.
>> > To post to this group, send email to clojure@googlegroups.com
>> > Note that posts from new members are moderated - please be patient with 
>> > your first post.
>> > To unsubscribe from this group, send email to
>> > clojure+unsubscr...@googlegroups.com
>> > For more options, visit this group at
>> >http://groups.google.com/group/clojure?hl=en
>>
>> --
>> And what is good, Phaedrus,
>> And what is not good—
>> Need we ask anyone to tell us these things?
>
> --
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to clojure@googlegroups.com
> Note that posts from new members are moderated - please be patient with your 
> first post.
> To unsubscribe from this group, send email to
> clojure+unsubscr...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/clojure?hl=en



-- 
Omnem crede diem tibi diluxisse supremum.

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en

Reply via email to