هذا الحل كتبته على عجل، ينقصه فقط حساب وطباعة القيم الأعلى:
#include <iostream>
//using namespace std;
int main()
{
int don[2][100];
int i = 0;
int j,x = 0;
int entrer;
while (entrer != 999) {
std::cout << "Enter the class: " << std::endl;
std::cin >> entrer;
if (entrer >= 999){
break;
}
don[0][i] = entrer;
std::cout << "Enter amount: " << std::endl;
std::cin >> don[1][i];
i = i +1;
}
for (j = 0; j != i; j++) {
std::cout << "class:= " << don[0][j] << std::endl;
std::cout << "amount:= " << don[1][j] << std::endl;
x = x + don[1][j];
std::cout << "Total : " << x << std::endl;
}
return 0;
}
لاحظ كيف استخدمت حلقات التكرار (استخدمت طريقة أخرى أسرع من التي أخبرتك بها سابقا).
لاحظ أيضا كيف عرّفت واستخدمت المصفوفة ثنائية الأبعاد، فالصياغة الصحيح كالتالي:
Type arrayName[numberOfRows][numberOfColumn];
حيث ستضع أولا النوع فاسم المصفوفة ثم عدد الأسطر والأعمدة (بعد ذلك الترقيم سيبدأ من 0).
هذا هو الرابط الذي أخبرتك به سابقا والذي يشرح طريقة عمل المصفوفات ثنائية الأبعاد في لغة سي ++.