22-01-2006, 20:02
|
|
|
חבר מתאריך: 22.01.06
הודעות: 18
|
|
תוכנית בוקטורים(ב-C)
עשיתי תוכנית במערכים שזה קולט 12 מספרים ב-13 מקומות ואז שהוא עושה את המערך להדפיס אותו ואז אחרי זה לקלוט מספר ואז במידה והסדר של המספרים במערכים הוא עולה או יורד לשים אותו בין המספרים שהוא גדול ממנו וקטן ממנו לדוגמא עם 5 מספרים:
קלטתי 5 והמערך הוא 2,4,6,8 אז הוא צריך להפוך ל 2,4,5,6,8 ולהדפיס את זה גם..
מה שיצא לי זה במקום 2,4,5,6,8 יצא לי 2,4,5,8,8 והנה התוכנית:
קוד:
#include<stdio.h>
#define size 13
typedef int vector[size];
void bvec(vector v,int n);
void pvec(vector v,int n);
void put(vector v,int n);
void main()
{
vector a;
bvec(a,size-1);
pvec(a,size-1);
put(a,size);
pvec(a,size);
}
void bvec(vector v,int n)
{
int i;
printf("Type %d numbers\n",n);
for(i=0;i<n;i++)
scanf("%d",&v[i]);
}
void pvec(vector v,int n)
{
int i;
printf("The vectors are:\n");
for(i=0;i<n;i++)
printf("v[%d]=%d\n",i,v[i]);
}
void put(vector v,int n)
{
int i,j,b;
printf("type a number\n");
scanf("%d",&b);
for(i=0;i<n;i++)
{
if((v[i]<b)&&(v[i+1]>b))
{
v[i+1]=b;
for(j=n-2;(i+1)<j;j--)
v[j+1]=v[j];
}
}
}
|