آژانس هواپیمایی
pop up

c

شروع موضوع توسط mrnline ‏17 آپریل 2008 در انجمن خانواده C++ , C

  1. mrnline

    mrnline کاربر تازه وارد

    تاریخ عضویت:
    ‏18 مارس 2008
    نوشته ها:
    2
    تشکر شده:
    0
    برنامه اي بنوسيد كه ارايه اي از ساختار ها شامل نام ونام خانوادگي ونمره درس c را براي 10 دانشجو به صورت پويا داخل حافظه ايجاد كرده وبر اساس نمره درس c خانه هاي اين ارايه را مرتب كنيد.؟




    2.بر نامه اي بنويسيد كه با گرفتن تعداد خانه از ورودي بر حسب ان و به تعداد ان خانه هاي از جنس عددي داخل حافظه به صورت پو يا ايجاد كرده وبه تعداد ان خانه ها عناصر بسط فيبوانچي را ذخيره كند.؟
     
  2. A.S.Roma

    A.S.Roma کاربر تازه وارد

    تاریخ عضویت:
    ‏9 می 2006
    نوشته ها:
    24
    تشکر شده:
    0
    سلام

    پاسخ مساله اولتون .
    تا اونجایی که می شد از حافظه گیری پویا استفاده کردم ضمن اینکه اکثر پارامترها By Refrence به تابع پاس شده است.
    شما فرمودید که برای 10 دانشجو ، من اون تعداد رو هم از کاربر میگیرم و پویا مقدار دهی می کنم.

    کد:
    [LEFT]#include <stdio.h>
    #include <string.h>
    #include <stdlib.h>
    #include <conio.h>
    
    static int count=0;
    
    struct name
    {
    	char first[21];
    	char last[21];
    	int grade;
    };
    
    int Compare(name *a,name *b)
    {
    	if(a->grade >= b->grade)
    		return 1;
    	else if(a->grade == b->grade)
    		return 0;
    	else
    		return -1;
    }
    
    
    
    void input( name *s)
    {
    	printf("%d-Name : ",++count);
    	scanf("%s %s",s->first,s->last);
    	printf("\nGrade : ");
    	scanf("%d",&(s->grade));
    
    
    
    }
    
    void print( name *s)
    {
    	printf ("%s %s\t%d",s->first,s->last,s->grade);
    }
    
    void main()
    {
    	int i,num;
    	name *p;
    	name temp;
    	clrscr();
    	printf ( "Number Of Names You Want To Enter : ");
    	scanf("%d",&num);
    	p = ( name * ) malloc (num * sizeof(name));
    	for ( i = 0 ; i< num; i++)
    		input(p+i);
    
    	for(i=0;i<num;i++)
    		for(int j=0;j<num;j++)
    			if(Compare(p+j,p+j+1)>0)
    			{
    				temp = p[j];
    				p[j]=p[j+1];
    				p[j+1]=temp;
    			}
    	printf("\n---------------------------\nSorted Names :\n\n");
    	for( i = 0 ; i<num ;i++){
    		printf("%d- ",i+1);
    		print(p+i);
    		printf("\n");
    	}
    	free(p);
    	getch();
    }
    [/LEFT]
    
    سوال دومتون رو درست نفهمیدم !