title: Why the error showing even after using the uint (non negative interger) for the index of the array?
body: <p>Please help with this code :</p>
  <p>My cdoe :</p>
  <pre><code> // SPDX-License-Identifier: GPL-3.0
   pragma solidity &gt;=0.7.0 &lt;0.9.0;
  
  
  contract new_nth{
  
   function nth(int n,int a,int b,int c) pure public returns(int){
      int[100] memory arr;
      arr[0] = a;
      arr[1] =b;
      arr[2] = c;
      uint i;
      for(i =3;i&lt;n;++i){
          arr[i] = arr[i-1]+arr[i - 2 ]+arr[i - 3];
      }
      return arr[n-1];
   }
  }
  </code></pre>
  <p>Error :</p>
  <p>TypeError: Operator &lt; not compatible with types uint256 and int256
  --&gt; nth_term.sol:14:18:
  |
  14 |         for(i =3;i&lt;n;++i){
  |                  ^^^</p>
  <p>TypeError: Type int256 is not implicitly convertible to expected type uint256.
  --&gt; nth_term.sol:17:20:
  |
  17 |         return arr[n-1];
  |                    ^^^</p>