diketahui sebuah array = {10,30,25,50,60,…} dan stok = 80. gimana cara buat array multidimensi untuk menyimpan masing-masing nilai di atas berdasarkan sisa stok yg ada. kalau stok sudah tidak mencukupi, biar masuk ke array baru dan stok kembali full jadi 80 lagi gitu, terus berulang sampe semua nilai dalam array di awal tadi terpilih semua. bhs pemrograman apa aja bebas

Posted on

diketahui sebuah array = {10,30,25,50,60,...} dan stok = 80. gimana cara buat array multidimensi untuk menyimpan masing-masing nilai di atas berdasarkan sisa stok yg ada. kalau stok sudah tidak mencukupi, biar masuk ke array baru dan stok kembali full jadi 80 lagi gitu, terus berulang sampe semua nilai dalam array di awal tadi terpilih semua. bhs pemrograman apa aja bebas

diketahui sebuah array = {10,30,25,50,60,…} dan stok = 80. gimana cara buat array multidimensi untuk menyimpan masing-masing nilai di atas berdasarkan sisa stok yg ada. kalau stok sudah tidak mencukupi, biar masuk ke array baru dan stok kembali full jadi 80 lagi gitu, terus berulang sampe semua nilai dalam array di awal tadi terpilih semua. bhs pemrograman apa aja bebas

#include <iostream>

#include <vector>

using namespace std;

int main(){

int arr[] = {50,70,45,80,30,35,60,75,55,95};

int n = sizeof(arr)/sizeof(int);

int stock = 150;

vector<vector<int>> v;

 

int currIdx = 0;

int currStock = stock;

int it = 0;

v.push_back({});

while (currIdx < n){

 if (arr[currIdx] <= currStock){

  v[it].push_back(currIdx);

  currStock -= arr[currIdx];

  currIdx++;

 }

 else{

  v.push_back({});

  if (arr[currIdx] > stock) currIdx++;

  it++;

  currStock = stock;

 }

}

 

for (int i = 0; i < v.size(); i++){

 printf("Warehouse %d : ", i);

 for (int j = 0; j < v[i].size(); j++){

  printf("%d ", v[i][j]);

 }

 printf("n");

}

 

return 0;

}