Fix Brain behaviour
authorLukas Jiriste <ljiriste@student.42prague.com>
Fri, 25 Oct 2024 10:41:13 +0000 (12:41 +0200)
committerLukas Jiriste <ljiriste@student.42prague.com>
Fri, 25 Oct 2024 10:41:13 +0000 (12:41 +0200)
ex01/Brain.cpp

index b0bce8116ef9c3e22887734b67ffc8b00deb272f..2ab22209ab00735354e651b6164090baed787ff6 100644 (file)
@@ -35,21 +35,24 @@ Brain       &Brain::operator=(const Brain &other)
 
 void   Brain::addIdea(std::string idea)
 {
+       m_ideas[m_index] = idea;
        ++m_index;
        if (m_index == CAPACITY)
+       {
                m_is_full = 1;
-       m_index %= CAPACITY;
-       m_ideas[m_index] = idea;
+               m_index = 0;
+       }
 }
 
 void   Brain::listIdeas() const
 {
-       size_t  i;
-
        if (m_is_full)
-               i = 0;
+       {
+               std::cout << m_ideas[m_index] << '\n';
+               for(size_t i((m_index + 1) % CAPACITY); i != m_index; i = (i + 1) % CAPACITY)
+                       std::cout << m_ideas[i] << '\n';
+       }
        else
-               i = m_index + 1;
-       for (; i != m_index; i = (i + 1) % CAPACITY)
-               std::cout << m_ideas[i] << '\n';
+               for(size_t i(0); i < m_index; ++i)
+                       std::cout << m_ideas[i] << '\n';
 }