PDA

View Full Version : سوال: مشکل توی برنامه ای به زبان C



Narges-s
شنبه 30 خرداد 1388, 17:51 عصر
- برنامه ای بنویسید که برای 10 دانشجو نمره ی 4 درس را دریافت کند، سپس :توسط تابعی شماره ی افرادی که بالاترین نمره در هر درس آورده اند را چاپ کند. :خجالت:


اصلا نمیدونم الگریتمی که استفاده کردم واسه انجام این کار درسته یا نه؟ ممنون میشم اگه اشکالم رو بگید . چون تابعش مشکل داره :ناراحت:





#include<stdio.h>
#include<conio.h>
void GMax(float [10][4]);
int main()
{
clrscr();
int i;
float m[2][4];
for(i=0;i<2;i++)
{
printf("\nNomreye 'C' daneshjooye %d : ",i);
scanf("%f",&m[i][0]);
printf("Nomreye Delphi daneshjooye %d : ",i);
scanf("%f",&m[i][1]);
printf("Nomreye Paskal daneshjooye %d : ",i);
scanf("%f",&m[i][2]);
printf("Nomreye Asembly daneshjooye %d : ",i);
scanf("%f",&m[i][3]);
}
GMax(m);
getch();
return 0;
}

void GMax(float f[2][4])
{
int b,a;
float max=0;
for(b=0;b<4;b++)
{
for(a=0;a<2;a++)
if (f[a][b]>max)
max=f[a][b];
printf("\n balatarin nomre dar darse %d : shomareye %d",b,a);
}
}

PC2st
شنبه 30 خرداد 1388, 19:12 عصر
اشتباه شما در استفاده از متغیر a بعد از محاسبات هست، چطور max نمره رو ذخیره کردین، اما شماره دانشجو رو در متغیری مثل i ذخیره نکردید؟ همچنین بعد از هر گام حلقه، مقادیر متغیرهای max و i باید صفر بشه:


void GMax(float f[2][4])
{
int b,a,i;
float max=0;
for(b=0;b<4;b++)
{
for(a=0;a<2;a++)
if (f[a][b]>max)
{
max=f[a][b];
i = a;
}
printf("\n balatarin nomre dar darse %d : shomareye %d",b,i);
i = 0;
max = 0;
}
}