0
0
Blockchain / Solidityprogramming~20 mins

Arrays (fixed and dynamic) in Blockchain / Solidity - Practice Problems & Coding Challenges

Choose your learning style9 modes available
Challenge - 5 Problems
🎖️
Array Mastery in Blockchain
Get all challenges correct to earn this badge!
Test your skills under time pressure!
Predict Output
intermediate
2:00remaining
Output of fixed-size array initialization
What is the output of this Solidity code snippet when the function getArray() is called?
Blockchain / Solidity
pragma solidity ^0.8.0;
contract Test {
    uint[3] fixedArray = [1, 2, 3];
    function getArray() public view returns (uint[3] memory) {
        return fixedArray;
    }
}
ACompilation error
B[0, 0, 0]
C[1, 2, 3]
D[1, 2]
Attempts:
2 left
💡 Hint
Fixed-size arrays in Solidity hold the exact number of elements declared.
Predict Output
intermediate
2:00remaining
Dynamic array length after push operations
What is the length of the dynamic array dynamicArray after executing the addElements() function?
Blockchain / Solidity
pragma solidity ^0.8.0;
contract Test {
    uint[] public dynamicArray;
    function addElements() public {
        dynamicArray.push(10);
        dynamicArray.push(20);
        dynamicArray.push(30);
    }
    function getLength() public view returns (uint) {
        return dynamicArray.length;
    }
}
ACompilation error
B0
C2
D3
Attempts:
2 left
💡 Hint
Each push adds one element to the dynamic array.
🔧 Debug
advanced
2:00remaining
Identify the error in fixed-size array assignment
What error will this Solidity code produce when compiled?
Blockchain / Solidity
pragma solidity ^0.8.0;
contract Test {
    uint[2] fixedArray;
    function setArray() public {
        fixedArray = [1, 2, 3];
    }
}
ATypeError: Type uint256[3] memory is not implicitly convertible to expected type uint256[2] storage pointer
BRuntime error: Array index out of bounds
CNo error, compiles and runs fine
DSyntaxError: Missing semicolon
Attempts:
2 left
💡 Hint
Fixed-size arrays must match the exact length when assigned.
Predict Output
advanced
2:00remaining
Output after deleting an element from dynamic array
What is the content of dynamicArray after calling removeFirst()?
Blockchain / Solidity
pragma solidity ^0.8.0;
contract Test {
    uint[] public dynamicArray;
    constructor() {
        dynamicArray.push(5);
        dynamicArray.push(10);
        dynamicArray.push(15);
    }
    function removeFirst() public {
        delete dynamicArray[0];
    }
    function getArray() public view returns (uint[] memory) {
        return dynamicArray;
    }
}
A[5, 10, 15]
B[0, 10, 15]
C[10, 15]
DRuntime error: Cannot delete element
Attempts:
2 left
💡 Hint
Deleting an element sets it to default value but does not change array length.
🧠 Conceptual
expert
2:00remaining
Gas cost behavior of fixed vs dynamic arrays
Which statement correctly describes the gas cost difference between fixed-size and dynamic arrays in Solidity when storing data on-chain?
AFixed-size arrays always cost less gas to store because their size is known at compile time.
BBoth fixed-size and dynamic arrays cost the same gas regardless of size.
CDynamic arrays always cost less gas because they can resize and use less storage.
DDynamic arrays cost more gas when resizing, but fixed-size arrays cost more gas when accessing elements.
Attempts:
2 left
💡 Hint
Knowing size at compile time helps optimize storage layout.