برگزیده های پرشین تولز

c

mrnline

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




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

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]

سوال دومتون رو درست نفهمیدم !
 
بالا