تم النشر منذ 4 Jan 2015 (معدل) int t,h=o no[50]; a=fopen(fopen("c:\\monam.txt","rb"); rewind(a); if(a==0) { printf("error"); getch(); exit(1); } fscanf(a,"%d%s%d%d%d",&st.nu,&st.name,&st.arbic,&st.english,&st.c); while(!feof(a) { st.nu==no[h]; h++ fscanf(a,"%d%s%d%d%d",&st.nu,&st.name,&st.arbic,&st.english,&st.c); } fclose(a); for(int i=0;i<h;i++) for(int j=0;j<h;j++) if(no[j]>no[j+1]) int temp=no[j]; no[j]=no[j+1]; no[j+1]=temp; } for(int r=0;r<h;r++) { printf("\n%d",no[r]); } printf("\n \t to pack press 0"); scanf("%d",&t); if(t==0) getch(); goto w; } تم تعديل 18 Mar 2016 بواسطه مصطفى 36a2 إضافة وسم الشيفرة البرمجية 0 شارك هذا الرد رابط المشاركة شارك الرد من خلال المواقع ادناه
0 قام بالرد منذ 18 Mar 2016 أهلا بك أخي الكريم، أرجو منك الاعتناء بتنسيق الشيفرة البرمجية مشكلة البرنامج الذي أرفقته حضرتك في الأسطر التالية: for(int i=0;i<h;i++) for(int j=0;j<h;j++) if(no[j]>no[j+1]) int temp=no[j]; no[j]=no[j+1]; no[j+1]=temp; والصواب for(int i=0;i<h;i++) for(int j=0;j<h;j++) if(no[j]>no[j+1]) { int temp=no[j]; no[j]=no[j+1]; no[j+1]=temp; } فعليك أن تضع كامل الشيفرة التي ترغب بتنفيذها عند تحقق الشرك داخل block يحددها قوسا البداية والنهاية {} وإلا فسيتم اعتبار السطر الأول فقط تابعًا للشرط وأما الباقي فلا، بل وسيتم اعتبار السطرين الآخرين في المقطع الذي اقتبسته لك بأنهما خارج حلقتي for أيضًا، ومن ثم سيجد المترجم بأن المتغير temp غير معرف في برنامجك. على كلّ أنصحك باستخدام الأقواس دومًا، حتى لو كان لديك سطر واحد بعد if أو for بالتوفيق 1 شارك هذا الرد رابط المشاركة شارك الرد من خلال المواقع ادناه
تم النشر منذ (معدل)
إضافة وسم الشيفرة البرمجية
شارك هذا الرد
رابط المشاركة
شارك الرد من خلال المواقع ادناه