PDA

View Full Version : آموزش: تصحیح کد



javad_babaey
دوشنبه 04 اردیبهشت 1391, 15:01 عصر
#include<iostream.h>
#include<conio.h>
#include<stdio.h>
int max, min;
int a[100];
void maxmin(int i, int j)
{
int max1, min1, mid;
if(i==j)
{
max = min = a[i];
}
else
{
if(i == j-1)
{
if(a[i] <a[j])
{
max = a[j];
min = a[i];
}
else
{
max = a[i];
min = a[j];
}
}
else
{
mid = (i+j)/2;
maxmin(i, mid);
max1 = max; min1 = min;
maxmin(mid+1, j);
if(max <max1)
max = max1;
if(min > min1)
min = min1;
}
}
}
int main ()
{
int i, num;
printf ("\n\t\t\tMAXIMUM & MINIMUM\n\n");
printf ("\nEnter the total number of numbers : ");
scanf ("%d",&num);
printf ("Enter the numbers : \n");
for (i=1;i<=num;i++)
{
scanf ("%d",&a[i]);
}

max = a[0];
min = a[0];
maxmin(1, num);
printf ("Maximum element in an array : %d\n", max);
printf ("Minimum element in an array : %d\n", min);
getch();
return 0;
}

میشه بگید برای اینکه از آرایه پویا بتونم این برنامه رو بنویسم باید چه تغییری توش ایجاد کنم؟
خیلی سعی کردم نشد

ASGGSA
دوشنبه 04 اردیبهشت 1391, 16:03 عصر
سلام.
ابتدا هدر :

#include <stdlib.h>

اضافه کن و حالا متغیر a را بصورت اشاره گر تعریف کن.

int *a;

بعد از اینکه متغیر num مقدار گرفت تابع زیرا بنویس.

a = (int *)malloc(sizeof(int) * num);

حالا برنامتو اجرا کن.