Welcome to collectivesolver - Programming & Software Q&A with code examples. A website with trusted programming answers. All programs are tested and work.

Contact: aviboots(AT)netvision.net.il

Semrush - keyword research tool

Turn ChatGPT, Claude, Gemini, And CoPilot Into Your Personal Assistant, Business Coach, Content Creator, And More

AFFILIATE MARKETING Your all-in-one performance engine Manage affiliates, creators, and customer referrals in one unified platform—turning every partnership into measurable growth
Secure & Reliable Web Hosting, Free Domain, Free SSL, 1-Click WordPress Install, Expert 24/7 Support

Boost your online presence with premium web hosting and servers

Disclosure: My content contains affiliate links.

42,709 questions

55,473 answers

573 users

How to build a pyramid from the numbers 3, 7, 5, 2, 4, 8, 6, 9, 0, 3 in C++

1 Answer

0 votes
#include <iostream>
#include <vector>

using std::vector;

// ------------------------------------------------------------
// Build a pyramid from a flat list of numbers
// ------------------------------------------------------------
vector<vector<int>> buildPyramid(const vector<int>& nums) {
    vector<vector<int>> pyramid;
    int index = 0;
    int rowSize = 1;

    while (index + rowSize <= nums.size()) {
        vector<int> row;
        for (int i = 0; i < rowSize; i++) {
            row.push_back(nums[index++]);
        }
        pyramid.push_back(row);
        rowSize++;
    }

    return pyramid;
}

// ------------------------------------------------------------
// Print the pyramid centered
// ------------------------------------------------------------
void printPyramid(const vector<vector<int>>& pyramid) {
    int height = pyramid.size();

    for (int r = 0; r < height; r++) {
        // Print leading spaces
        std::cout << std::string((height - r - 1) * 2, ' ');

        // Print row values
        for (int v : pyramid[r]) {
            std::cout << v << "   ";
        }
        std::cout << "\n";
    }
}

// ------------------------------------------------------------
// Main program
// ------------------------------------------------------------
int main() {
    vector<int> numbers = {3, 7, 5, 2, 4, 8, 6, 9, 0, 3};

    auto pyramid = buildPyramid(numbers);

    std::cout << "Pyramid:\n";
    printPyramid(pyramid);
}


/*
run:

Pyramid:
      3   
    7   5   
  2   4   8   
6   9   0   3   

*/

 



answered Apr 28 by avibootz
...