Azar.099
پنج شنبه 10 دی 1394, 21:55 عصر
سلام
دوستان توی این برنامه من وقتی داده ها را میدم و داخل MAP ذخیره میکنم و بعد میخوام ازشون استفاده کنم ترتییشون عوض میشه برای همین برنامه ارور میده
مشکل چیه ؟
سوال میاد به شما اول یه n می ده و بعدش n تا اسم به شما می ده
بعدش هر بار(برای هر کس یه بار) یه اسم به ما می ده و دوتا عدد A,B
که یعنی فرد با این اسم A واحد پول رو بین B نفر B خط بعدی تقسیم می کنه
نکته1.اول کار همه صفر واحد پول دارن!
نکته2.اگر مقدار پولی که می خواد تقسیم کنه بر اون تعداده بخشپذیر نباشه مقدار باقیمانده تو جیب خود پخش کننده می مونه
حالا شما باید توی خروجی اول اسم هر کس و مقدار پولی که الآن تو جیبشه رو چاپ کنین
اسم ها هم باید به همون ترتیبی باشن که ورودی به شما داده
#include<iostream>#include<map>
#include<string>
using namespace std;
int main()
{ int n;
map<string,int> mymap;
map<string,int>::iterator it;
cin >> n;
for (int i = 0; i < n; i++) {
string s;
cin>> s;
mymap.insert(make_pair(s,0));
}
string s;
int a, b,j;
for (int i = 0; i < n; i++) {
cin >> s >> a >> b;
if(b!=0)
mymap[s] += (a%b);
else
{
mymap[s] += a;
continue;
}
it = mymap.find(s);
it++;
j = b;
while (j!=0)
{
it->second += a / b;
it++;
j--;
}
}
it = mymap.begin();
while (it != mymap.end())
{
cout << it->first << "=" << it->second << " ";
++it;
}
return 0;
}
دوستان توی این برنامه من وقتی داده ها را میدم و داخل MAP ذخیره میکنم و بعد میخوام ازشون استفاده کنم ترتییشون عوض میشه برای همین برنامه ارور میده
مشکل چیه ؟
سوال میاد به شما اول یه n می ده و بعدش n تا اسم به شما می ده
بعدش هر بار(برای هر کس یه بار) یه اسم به ما می ده و دوتا عدد A,B
که یعنی فرد با این اسم A واحد پول رو بین B نفر B خط بعدی تقسیم می کنه
نکته1.اول کار همه صفر واحد پول دارن!
نکته2.اگر مقدار پولی که می خواد تقسیم کنه بر اون تعداده بخشپذیر نباشه مقدار باقیمانده تو جیب خود پخش کننده می مونه
حالا شما باید توی خروجی اول اسم هر کس و مقدار پولی که الآن تو جیبشه رو چاپ کنین
اسم ها هم باید به همون ترتیبی باشن که ورودی به شما داده
#include<iostream>#include<map>
#include<string>
using namespace std;
int main()
{ int n;
map<string,int> mymap;
map<string,int>::iterator it;
cin >> n;
for (int i = 0; i < n; i++) {
string s;
cin>> s;
mymap.insert(make_pair(s,0));
}
string s;
int a, b,j;
for (int i = 0; i < n; i++) {
cin >> s >> a >> b;
if(b!=0)
mymap[s] += (a%b);
else
{
mymap[s] += a;
continue;
}
it = mymap.find(s);
it++;
j = b;
while (j!=0)
{
it->second += a / b;
it++;
j--;
}
}
it = mymap.begin();
while (it != mymap.end())
{
cout << it->first << "=" << it->second << " ";
++it;
}
return 0;
}