![]() |
|
(דבלב C תפש) תואלמ תובושתו תולאש - C/C++ | |
![]() |
|
ישאר דומע | סינוקא ןד תאמ |
![]() |
.תחא המישרל תודחאתמ םייוסמ םוקמב רשא תורשוקמ תומישר יתש תונותנ הנפתו דרפנב המישר לכל תפתושמה המישרה תא קיתעת רשא היצקנופ בותכ .ןורכיזהמ תירוקמה תפתושמה המישרה תא !הווש תויהל בייח וניא תומישרה יתשב םירביאה רפסמ :הרעה void split(struct elem *list1,struct elem *list2) { struct elem *p1,*p2,*x,*y; int l1,l2; for (l1=0,p1=list1; p1; l1++,p1=p1->next) ; for (l2=0,p2=list2; p2; l2++,p2=p2->next) ; for (p1=list1; l1>l2; l2++,p1=p1->next) ; for (p2=list2; l2>l1; l1++,p2=p2->next) ; for (; p1->next!=p2->next; p1=p1->next,p2=p2->next) ; y=p1->next; while (y) { x=y; y=y->next; p1->next=(struct elem*) malloc(sizeof(struct elem)); p2->next=(struct elem*) malloc(sizeof(struct elem)); p1=p1->next; p2=p2->next; p1->info=p2->info=x->info; p1->next=p2->next=NULL; free(x); } } :םיאבה םיאנתה תא תמייקמ איה םא ךכ תארקנ "תרדוסמ" תזורחמ .דבלב תחא תיבכוכ הנשי תזורחמב .1 .םיווש ןורחאהו ןושארהש םיות השולשמ תויונבה תוזורחמ-יתת m םנשי תיבכוכה ינפל .2 .המאתהב תוזורחמה יתת לש םייעצמאה םיותה םהש םיות m םנשי תיבכוכה ירחא .3 :תרדוסמ תזורחמל אמגוד
abayhyklk*bhl
.אל וא תרדוסמ איה םאה הריזחמו תזורחמ תלבקמה היצקנופ בותכint check(char *str) { int len=strlen(str),i,m,pm,pn; for (i=0;str[i];i++) if (str[i]=='*') break; if (str[i]==0) return 0; if (i%3!=0) return 0; else m=i/3; if (m*3+1+m!=len) return 0; for (i=i+1; str[i]; i++) if (str[i]=='*') return 0; for (pm=1,pn=m*3+1; str[pn]; pm+=3,pn++) if (str[pm]!=str[pn] || str[pm]!=str[pm+2]) return 0; return 1; } .0-9 תורפסוממה םירע 10 ןנשי תמייוסמ הנידמב .םירעה ןיב םיכרדה תפמ תא שי וז הנידמ לש הרובחתה דרשמל .1 וא 0 ךרע לבקל לוכי אב את לכ רשא 10x10 הצירטמ תרוצב תגצומ הפמה .j רפסמ ריעל i רפסמ ריעמ ךרד ןיא יזא ,0 אוה (i,j) אתה םא .(תינוויכ-דח ךרד) j רפסמ ריעל i רפסמ ריעמ ךרד הנשי יזא ,1 אוה (i,j) אתה םא .(i ריעל j ריעמ ךרד ןיא ךא j ריעל i ריעמ ךרד לש בצמ ןכתיי ,רמולכ) :םיכרד תפמל אמגוד
0 0 1 0 0 0 1 1 0 0
0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 1 1 1 0 0 0 0 1 0 1 0 1 0 1 0 1 0 0 0 0 0 1 0 0 1 0 1 0 1 0 0 0 1 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 1 0 1 0 0 1 0 1 0 0 0 1 0 0 0 1 0 0 0 0 0 2,6,7 םירעל תוינוויכ-דח םיכרד ןנשי (הצירטמב 0 הרוש) 0 רפסמ ריעמ :אמגודה יפל :םיאבה םירטמרפה תא תלבקמה היצקנופ בותכ .הקיר 10x2 םילולסמ תצירטמ ןכו ,דעיה ריע ,רוקמה ריע ,םיכרדה תפמ תצירטמ .(0-9) דעיה ריעל (0-9) רוקמה ריע ןיב והשלכ לולסמ שפחת היצקנופה .תורחא םירע ךרד רבועה לולסמ שפחת היצקנופה ,םירעה ןיב רישי רשק ןיא םא סינכת הב הרוש לכבו םילולסמה תצירטמ תא אלמת היצקנופה לולסמה שופיח ןמזב .יחכונה לולסמה-תת לש דעיה ריעו רוקמה ריע תא -1,-1 םיכרע הלש האבה הרושב םישל שי ,םילולסמה תצירטמ יולימ םויס רחאל .לולסמה םויס והזש תעדל ידכ לולסמ םוש אצמנ אלש וא דעיה ריע םג איה רוקמה ריע םא 0 ריזחת היצקנופה .(םילולסמה תצירטמל תובישח ןיא הז הרקמב) דעיה ריעל רוקמה ריע ןיב רשקמה .(אלמה לולסמה עיפומ םילולסמה תצירטמב) .1 ריזחת ,לולסמ האצמ םא :ךכ םילולסמה תצירטמב עיפוי 5 ריעל 8 ריעמ לולסמ :(ל"נה הפמה רובע) אמגוד
8 , 1
1 , 4 4 , 0 0 , 2 2 , 5 -1 , -1 int path(int paths[][10],int si,int di,int track[][2]) { static int row=0; int ti; if (si!=di) if (paths[si][di]) { track[row][0]=si; track[row][1]=di; track[row+1][0]=-1; track[row+1][1]=-1; return 1; } else for (ti=0;ti<10;ti++) if (ti!=si && row<10 && paths[si][ti]) { track[row][0]=si; track[row][1]=ti; row++; return(path(paths,ti,di,track)); } track[row+1][0]=-1; track[row+1][1]=-1; return 0; } .ריהמ ןוימ תטיש יפל ךרעמ תנייממה היצקנופ בותכ םיקלח 2-ל ךרעמה תא םעפ לכ תקלחמ רשא תיביסרוקר הטיש איה ריהמ ןוימ תטיש ינש תא ןכמ רחאל תדחאמ איה ,דרפנב קלח לכ ןיימל תעדוי איהש ךכ לע ךמתסהבו .םיקלחה ."תועוב ןוימ" תטישמ הברהב הריהמ וז ןוימ תטיש :הרהבה // .1 תוחפ ךרעמה ירביא רפסמ תא לבקמ end-ו start=0 ,היצקנופל תינושארה האירקב // :ךכ עצבתת תינושארה האירקה זא םירביא 100 לעב אוה ךרעמה םא :לשמל // qsort(arr,0,99); void qsort(int arr[],int start,int end) { int i=start,j=end,x=arr[(start+end)/2],temp; do { while (arr[i]<x) i++; while (arr[j]>x) j--; if (i<=j) { temp=arr[i]; arr[i++]=arr[j]; arr[j--]=temp; } } while (i<j); if (start<j) qsort(arr,start,j); if (i<end) qsort(arr,i,end); } תא הסיפדמו (INT הנתשמב סנכנש) יבויח םלש רפסמ תלבקמה תיביסרוקר היצקנופ בותכ .ולש םיינושארה םיקלחמה לכ .שקובמה רפסמה איה וגצויש םיינושארה םירפסמה תלפכמ תאצות ,רמולכ :אמגוד :ספדוי 300 רפסמה רובע
2 2 3 5 5
.הנשמ וניא םירפסמה רדס(2*2*3*5*5=300) void print_prime_list(int n) { int i; if (n>0) { for (i=2; i<=n; i++) if (n%i==0) { printf("%d ",i); break; } print_prime_list(n/i); } } .n םימי רפסמו הנש,שדוח,םוי תטלוקה תינכות בותכ .(יבויח וא ילילש םלש רפסמ תויהל לוכי n) (ילילש n םא) םימי n ינפל היהש ךיראתה המ סיפדתו בשחת תינכותה .(יבויח n םא) םימי n דועב היהיש וא .ולש םימיה רפסמ תא שדוח לכ לע ליכי רשא םישדוח ךרעמ תונבל ךילע :(ןימיל לאמשמ) ךכ הארי םישדוחה ךרעמ
31, 28/29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31
29 אוה םימיה רפסמ - תיראש אלל 4-ב תקלחתמ הנשה םא :ראורבפ שדוח יבגל .28 אוה םימיה רפסמ ,תרחא #include<stdio.h> #include<conio.h> struct taarich { int day,month,year; }; struct taarich calculate(struct taarich dmy,int n); void main() { struct taarich dmy; int n; clrscr(); printf("Enter day : "); scanf("%d",&dmy.day); printf("Enter month : "); scanf("%d",&dmy.month); printf("Enter year : "); scanf("%d",&dmy.year); printf("Enter number of days past/future : "); scanf("%d",&n); printf("Date now is : %d/%d/%d\n",dmy.day,dmy.month,dmy.year); dmy=calculate(dmy,n); printf("After %4d days : %d/%d/%d\n",n,dmy.day,dmy.month,dmy.year); getch(); } struct taarich calculate(struct taarich dmy,int n) { int months[]={31,28,31,30,31,30,31,31,30,31,30,31}; int up_down=(n>0)? 1:-1; months[1]=28+(dmy.year%4==0); for (; n; n-=up_down) { dmy.day+=up_down; if (dmy.day<1) { dmy.month--; if (dmy.month<1) { dmy.year--; months[1]=28+(dmy.year%4==0); dmy.month=12; } dmy.day=months[dmy.month-1]; } if (dmy.day>months[dmy.month-1]) { dmy.month++; if (dmy.month>12) { dmy.year++; months[1]=28+(dmy.year%4==0); dmy.month=1; } dmy.day=1; } } return (dmy); } .םירפסמב האלמ 6x6 הצירטמ תלבקמה היצקנופ בותכ .םהינכש לכמ םילודגה םירביא שפחת היצקנופה .(ןוסכלא וא ןזואמ,ךנואמב םידומצה םירביאה לכ םה םינכש) .(הדומעו הרוש) ומוקימ תאו וכרע תא סיפדהל שי וינכש לכמ לודגה רביא לכ רובע .ההז םינכש רפסמ שי םירביאה לכל אלש ,בל םישל שי .(יעצמאו ילוש ,יתניפ רביא) םירקמה לכב לפטמה ליעי םתירוגלא בותכ void neighbours(int mat[][6]) { int i,j,m,n,degel; for (i=0;i<6;i++) for (j=0;j<6;j++) { degel=1; for (m=i-1; m<=i+1 && degel ;m++) for (n=j-1; n<=j+1; n++) if (m>=0 && m<6 && n>=0 && n<6) if (!(i==m && j==n) && mat[i][j] <=mat[m][n]) { degel=0; break; } if (degel) printf("Row: %d Col: %d Number: %d\n",i,j,mat[i][j]); } } טרפ e תואל תמדוק i תואה ,הלימ ךותב ףצרב תועיפומ e-ו i תויתואה רשאכ ,ילגנאה ביתכב .i ינפל e אוה רדסה זאו ,c תואה ירחא אב הז תויתוא גוזש הרקמל .ללכל םאתהב ןוקית תושורדש םילימה תא ןקתתו תזורחמ תלבקמה היצקנופ בותכ void check(char *str) { char temp; int i,degel=0; for (i=0;str[i];i+=degel+1,degel=0) if (str[i]=='i' || str[i]=='I' || str[i+1]=='i' || str[i+1]=='I') if (str[i]=='e' || str[i]=='E' || str[i+1]=='e' || str[i+1]=='E') { temp=str[i]; if (i>0 && (str[i-1]=='c' || str[i-1]=='C')) { if (temp=='i' || temp=='I') { str[i]=str[i+1]; str[i+1]=temp; } } else { if (temp=='e' || temp=='E') { str[i]=str[i+1]; str[i+1]=temp; } } degel=1; } } תא הריזחמו ,INT סופיטמ םיילילש-יא םימלש םירפסמ ינש תלבקמה היצקנופ בותכ .דבלב רוביח תלועפ י"ע תאז לכו ינשה רפסמה תקזחב ןושארה רפסמה .LONG INT סופיטמ איה היצקנופה long int power(int a,int b) { int i,j; long int res,kefel; res=kefel=a; if (b==0) if (a==0) return 0; else return 1; for (i=1;i<b;i++) { for (j=1;j<a;j++) res+=kefel; kefel=res; } return (res); } המישרה יעפומ לכ תא תקחומו ,תורשוקמ תומישר יתשל םיעיבצמ תלבקמה היצקנופ בותכ .הנושארה המישרה ןמ היינשה .('וכו ,המישר ףוס ,המישר תליחתב עפומ) תויורשפאה לכ תא ןובשחב חק struct elem *cancel(struct elem *list1,struct elem *list2) { struct elem *p1,*q1=NULL,*temp1,*temp2,*g,*h; for (p1=list1; p1 && list2;) { if (p1->info==list2->info) { temp1=p1; temp2=list2; while (temp1 && temp2) { if (temp1->info!=temp2->info) break; temp1=temp1->next; temp2=temp2->next; } if (temp2==NULL) { if (q1==NULL) list1=temp1; else q1->next=temp1; for (h=g=p1; g!=temp1; ) { h=h->next; free(g); g=h; } p1=temp1; continue; } } q1=p1; p1=p1->next; } return (list1); } :םיאבה םיטקייבואה םנשי ,10x10 םיות תצירטמב .C תואב ןמוסמה לותח .1 .M תואב ןמוסמה רבכע .2 .תויבכוכב םינמוסמה םישקומ הרשע .3 .חוורב םינמוסמה םיקיר תומוקמ ,הצירטמה ראש לכ .4 :םייקתמ םיאבה םיאנתה דחא םא רבכע לע םייאמ לותח .םהיניב שקומ ףא ןיאו הרוש התואב םהינש .1 .םהיניב שקומ ףא ןיאו הדומע התואב םהינש .2 .םהיניב שקומ ףא ןיאו ןוסכלא ותוא לע םהינש .3 .רבכעה לע םייאמ לותחה םא תקדובו ,ל"נה הצירטמה תא תלבקמה היצקנופ בותכ .0 הריזחמ תרחא ,ןכ םא 1 הריזחמ int threat(char mat[][10]) { int i,j,icat,imouse,jcat,jmouse,ijump,jjump,threat=1; for (i=0;i<10;i++) for (j=0;j<10;j++) { if (mat[i][j]=='C') { icat=i; jcat=j; } if (mat[i][j]=='M') { imouse=i; jmouse=j; } } // back or forward to reach mouse if (icat>imouse) ijump=-1; else ijump=1; // up or down to reach mouse if (jcat>jmouse) jjump=-1; else jjump=1; if (icat==imouse) // if cat and mouse on same row { for (j=jcat; j!=jmouse ;j+=jjump) if (mat[icat][j]=='*') { threat=0; break; } } else if (jcat==jmouse) // if cat and mouse on same column { for (i=icat; i!=imouse; i+=ijump) if (mat[i][jcat]=='*') { threat=0; break; } } else if (icat-imouse==jcat-jmouse || icat-imouse==jmouse-jcat) // Cat & mouse on same diagonal { for (i=icat,j=jcat; i!=imouse; i+=ijump,j+=jjump) { if (mat[i][j]=='*') { threat=0; break; } } } else // not same row, now same column, not same alachson threat=0; return (threat); } .0.001 לש קוידב ולש יעובירה שרושה תא הריזחמו םלש רפסמ תלבקמה היצקנופ בותכ .תויסיסבה ןובשח תולועפ 4-ב קרו ךא רזעיהל ןתינ .(Float סופיטמ איה היצקנופה) float sqr_root(int n) { float x=n,y=1; if (n<=0) return 0; while (x-y>0.001 || y-x>0.001) { x=(x+y)/2; y=n/x; } return (x); } .הזמ הז םינוש הירביא לכ רשא הצירטמ אוה יניטל עוביר .יניטל עוביר איה םאה תקדובו 4x4 לדוגב הצירטמ תלבקמה היצקנופ בותכ int latin(int mat[][4]) { int i,j; for (i=0;i<16;i++) for (j=i+1;j<16;j++) if (mat[i/4][i%4]==mat[j/4][j%4]) return 0; return 1; } רביא לכש תנייוממ השדח המישר תרצויו תינוויכ-דח המישר תטלוקה תינכות בותכ :אבה עדימה תא ליכמ הב .רפסמ (א .תירוקמה המישרב עיפוה םימעפ המכ (ב .(דרוי רדסב םיירודיס תומוקמ) תירוקמה המישרב עיפוה תומוקמ וליאב (ג :לשמל :האבה המישרה רובע
1 -> 2 -> 3 -> 5 -> 3 -> 3 -> 5 -> 1 -> ||
:האבה הרוצב עדימה ספדוי
1 (2) ----> 8 -> 1 -> ||
| 2 (1) ----> 2 -> || | 3 (3) ----> 6 -> 5 -> 3 -> || | 5 (2) ----> 7 -> 4 -> || :אוה תרשוקמה המישרה הנבמ .[ אבה רביאל עיבצמ ,רפסמ ] :אוה תנייוממה המישרה הנבמ .[ אבה רביאל עיבצמ ,םימוקימ לש תרשוקמ המישרל עיבצמ ,תועפוה רפסמ ,רפסמ ] תא הליכמש תרשוקמה המישרהו הלוע רדסב םירפסמ פ"ע ןייוממ שדחה הנבמה יכ בל םיש .דרוי רדסב תנייוממ ,םימוקימה #include<stdio.h> #include<conio.h> #include<alloc.h> #include<stdlib.h> struct linklist { int info; struct linklist *next; }; struct elem { int info,shows; struct elem *next; struct linklist *where; }; struct linklist *kelet(); void pelet(struct linklist *list); void main() { struct elem *head=NULL,*hp,*hq,*new_elem; struct linklist *list,*p,*new_loc; int degel,mone; clrscr(); list=kelet(); clrscr(); pelet(list); printf("\n\n"); for (mone=1,p=list; p; mone++,p=p->next) { degel=0; for (hq=NULL,hp=head; hp && hp->info<=p->info; hq=hp,hp=hp->next) if (hp->info==p->info) { degel=1; hp->shows++; break; } if (!degel) { new_elem=(struct elem*) malloc(sizeof(struct elem)); new_elem->info=p->info; new_elem->shows=1; new_elem->where=NULL; if (head==NULL || p->info<head->info) { new_elem->next=head; head=new_elem; } else { new_elem->next=hq->next; hq->next=new_elem; } hp=new_elem; } new_loc=(struct linklist*) malloc(sizeof(struct linklist)); new_loc->next=hp->where; hp->where=new_loc; new_loc->info=mone; } for (hp=head; hp; hp=hp->next) { printf("%d (%d) -> ",hp->info,hp->shows); pelet(hp->where); } getch(); } struct linklist *kelet() { int n; struct linklist *list=NULL,*p=NULL,*new_elem; printf("Enter number or 0 to stop : "); scanf("%d",&n); while (n) { new_elem=(struct linklist*) malloc(sizeof(struct linklist)); new_elem->next=NULL; new_elem->info=n; if (list==NULL) list=new_elem; else p->next=new_elem; p=new_elem; printf("Enter number or 0 to stop : "); scanf("%d",&n); } return (list); } void pelet(struct linklist *list) { struct linklist *p; for (p=list; p; p=p->next) printf("%d -> ",p->info); printf("||\n"); } :םיאבה םירבדה תא תעצבמו תרשוקמ תינוויכ-דח המישרל עיבצמ תלבקמה היצקנופ בותכ םיספאה רפסמ תא ליכיש הרדסה ירחא רביא תלתוש ,םיספא 1-3 הנומה םיספא תרדסב תלקתנשכ המישרהמ הרדסה תא תקחומ איה ,הלעמו םיספא 4 לש הרדסב תלקתנשכ .הרדסב .(ןורכיזב םוקמ הנפמו) :האבה המישרה ,לשמל
0 -> 0 -> 0 -> 0 -> 4 -> 0 -> 0 -> 0 -> 3 -> 4 -> 0
:ל ךופהת
4 -> 0 -> 0 -> 0 -> 3 -> 3 -> 4 -> 0 -> 1
!םיירשפאה םירקמה לכ תא ןובשחב חק(.'וכו הפוסב וא המישרה תליחתב הכורא םיספא תרדס :לשמל) struct elem *zero_series(struct elem *list) { struct elem *p_main,*p_prev=NULL,*q_main,*q_prev; int counter; for (p_main=list; p_main;) { counter=0; if (p_main->info==0) for (q_prev=q_main=p_main; q_main && q_main->info==0; q_prev=q_main,q_main=q_main->next) counter++; if (counter>0 && counter<4) { q_prev->next=(struct elem*) malloc(sizeof(struct elem)); q_prev=q_prev->next; q_prev->info=counter; q_prev->next=q_main; p_main=q_main; p_prev=q_prev; continue; } if (counter>=4) { for (q_main=q_prev=p_main; q_prev && q_prev->info==0; ) { q_main=q_main->next; free(q_prev); q_prev=q_main; } if (p_prev==NULL) list=q_prev; else p_prev->next=q_prev; p_main=q_prev; continue; } p_prev=p_main; p_main=p_main->next; } return (list); } .המישרל עיבצמ הריזחמו תרשוקמ המישרל ץעה תא תכפוה ,יראניב ץעל עיבצמ תלבקמה היצקנופ בותכ struct elem *tree_2_list(struct tree *t) { struct elem *list,*p; if (t==NULL) return(NULL); list=(struct elem*) malloc(sizeof(struct elem)); list->info=t->info; list->next=tree_2_list(t->left); for(p=list; p->next; p=p->next) ; p->next=tree_2_list(t->right); return (list); } .הקיר תזורחמו םיות תזורחמ תלבקמה היצקנופ בותכ .האלמה תזורחמה רוציקב הקירה תזורחמה תא אלמת היצקנופה :אמגודל abcdeghiopqrs :תזורחמה רובע a-eg-io-s :האבה תזורחמה לבקתת .חווטל תכפוה הפיצר םיות תרדס לכ ,רמולכ .דבלב תונטק תויתוא םנשי האלמה תזורחמבש חנה void short_form(char str1[],char str2[]) { int i,j=0,degel=1; // degel is 1 if char can go to str2 for (i=0; str1[i]; i++) { if (i>0 && str1[i]-1==str1[i-1] && str1[i]+1==str1[i+1]) { degel=0; continue; } if (degel==0) str2[j++]='-'; str2[j++]=str1[i]; degel=1; } str2[j]=0; } ."החוטש הדימריפ" ונממ השועו םירביא 10 ןב םירפסמ ךרעמ תלבקמה היצקנופ בותכ .ןיגוריסל דרוי רדסבו הלוע רדסב ןייוממש ךרעמ הז החוטש הדימריפ .הלוע רדסב ךרעמה תא תנייממ היצקנופה ,הנושארה םעפב .דרוי רדסב (ןושארה רביאה ללוכ אל) ךרעמה ראש תא תנייממ היצקנופה היינשה םעפב .ךרעמה זכרמב היהי ילמיסקמה רביאה ,רבד לש ופוסב :אמגוד :אבה ךרעמה 0 1 2 3 4 5 6 7 8 9 :-ל ךופהי 0 2 4 6 8 9 7 5 3 1 void piramid(int arr[]) { int i,begin=0,end=9,direction=1,min,min_loc; while (end>begin) { for (i=begin,min=arr[begin],min_loc=begin;i<=end;i++) if (arr[i]<min) { min=arr[i]; min_loc=i; } if (direction) { arr[min_loc]=arr[begin]; arr[begin]=min; begin++; } else { arr[min_loc]=arr[end]; arr[end]=min; end--; } direction=(!direction); } } םירביאה םוכסו םייגוזה תומוקמב םירביאה םוכס שרפה םא 11-ב קלחתמ רפסמ :תויורשפא יתש ןנשי ,0-ל הווש אל שרפהה םא .0-ל הווש םייגוז-יאה תומוקמב .11-ב קלחתמ אל רפסמה זא (ילילש וא יבויח) יתרפס דח רפסמ אוה שרפהה םא שרפהה לע םעפה ךא שדחמ םיאנתה תא עצבל ךרטצנ יתרפס דח רפסמ אל אוה שרפהה םא .ירוקמה רפסמה לע אלו :אמגוד :יכ 11-ב קלחתמ 9196 רפסמה 6-9+1-9=11 1-1=0 :תפסונ אמגוד :יכ 11-ב קלחתמ אל 1768 רפסמה 8-6+7-1=8 רפסמה םאה הריזחמו (INT סופיטב סנכנש) םלש רפסמ תלבקמה ,תיביסרוקיר היצקנופ בותכ .אל וא 11-ב קלחתמ int div_11(int num) { int sum=0; if (num<10 && num> -10) return (num==0); while (num) { sum+=num%10; sum-=(num/10)%10; num/=100; } return (div_11(sum)); } .הב הלודג יכה הדיחיה תצירטמ לדוג והמ תאצומו 6x6 הצירטמ תלבקמה היצקנופ בותכ int maximum(int mat[][6]) { int i,j,m,n,max=0,godel,degel; for (i=0;i<6;i++) for (j=0;j<6;j++) if (mat[i][j]==1) { godel=0; degel=1; for (m=0; mat[i+m][j+m]==1; m++) { for (n=0; n<m && degel; n++) if (mat[m+i][n+j] || mat[n+i][m+j]) { degel=0; break; } if (degel==0) break; godel++; } if (godel>max) max=godel; } return (max); } םילולסמה רפסמ תא הריזחמו רושימה לע הדוקנ תלבקמה (תיביסרוקר) היצקנופ בותכ .הטמלו הלאמש קר רתומ הכילהה ןוויכ .(0,0) הדוקנ לא וז הדוקנמ תכלל ןתינש .(X>0, Y>0) יבויחה עיברב איה רושימה לע הדוקנה) .(0,0) הדוקנל עיגהל ידכ םיירשפא םילולסמ 3 םנשי (1,2) הדוקנמ : לשמל int tracks(int x,int y) { if (x==0 || y==0) return 1; else return (tracks(x-1,y)+tracks(x,y-1)); } .םיירשפאה םיפוריצה לכ תא הסיפדמו ,םיות 9 דע ךרואב תזורחמ תטלוקה תינכות בותכ .תיביסרוקר היצקנופב רזעיהל ךילע :הרעה #include <stdio.h> #include <conio.h> #include <string.h> void combin(char *str,int current,int len); void main() { char str[10]; int len; clrscr(); printf("Enter a short string : "); gets(str); len=strlen(str); combin(str,0,len); getch(); } void combin(char *string,int current,int len) { int i; char str[10],ch; strcpy(str,string); if (current<len) { for (i=current; i<len; i++) { ch=str[current]; str[current]=str[i]; str[i]=ch; combin(str,current+1,len); } } else printf("%s\n",str); } ןכ ומכו דחא לכ םיאת 5 ינב םינייוממ םיכרעמ 2 םירטמרפכ תלבקמה היצקנופ בותכ .ןיוממ ןכ םג היהי אוהש ךכ םיכרעמה ינש ףוריצ תא לבקי רשא קיר םיאת 10 ןב ךרעמ !םיניוממ םיכרעמהש הדבועל בל םיש :הרעה void join_arrays(int arr1[],int arr2[],int arr_big[]) { int i=0,j=0,k=0; while (i<5 || j<5) { if (i<5 && j<5) if (arr1[i]<arr2[j]) arr_big[k++]=arr1[i++]; else arr_big[k++]=arr2[j++]; else if (i<5) arr_big[k++]=arr1[i++]; else arr_big[k++]=arr2[j++]; } } .דחא לכ םיאת 5 ינב םינייוממ םיכרעמ 2 תלבקמה היצקנופ בותכ .םיכרעמה ינשל ףתושמה ילמינימה ךרעה תא ריזחת היצקנופה .-1 ריזחת היצקנופה ,הזכ דחא ןיא םא .דבלב םייבויח םיכרע םיליכמ םיכרעמה ,ןיינעה ךרוצל :הרעה int min(int arr1[],int arr2[]) { int i=0,j=0; while (i<5 && j<5) { if (arr1[i]==arr2[j]) return(arr1[i]); else if (arr1[i]<arr2[j]) i++; else j++; } return -1; } .ךופה תורפס רדס םע רפסמ הריזחמו ,רפסמ תלבקמה היצקנופ בותכ int reverse(int num) { int rev=0; for (; num>0; num/=10) rev=rev*10+(num%10); return (rev); } .םייגוז יאה תא ןכמ רחאלו םייגוזה םירביאה תא תרדסמו ,5x5 הצירטמ תלבקמה היצקנופ בותכ !תחא םעפמ רתוי רביא קורסל ןיא :אמגוד :האבה הצירטמה 4 3 7 5 4 1 4 6 7 2 9 8 5 9 0 1 5 2 8 3 0 3 8 6 4 -ל ךופהת 4 4 6 8 4 0 4 6 8 2 2 8 0 9 5 1 5 9 7 3 1 3 5 7 3 .הנשמ וניא םהיניב םייגוז-יאהו םייגוזה רדס :הרעה void arrange(int mat[][5]) { int start=0,end=24,temp; for (start=0; start<end; start++) { if (mat[start/5][start%5]%2==1) for (; end>start; end--) if (mat[end/5][end%5]%2==0) { temp=mat[start/5][start%5]; mat[start/5][start%5]=mat[end/5][end%5]; mat[end/5][end%5]=temp; break; } } } .םהלש ילמיסקמה קלחמה תא הריזחמו םירפסמ 2 תלבקמה היצקנופ בותכ int divider(int num1,int num2) { while (num1!=num2) { if (num1>num2) num1-=num2; else num2-=num1; } return (num1); } .םירפסמו םיות הליכמה תזורחמ תלבקמה היצקנופ בותכ .תזורחמב אצמנה לודג יכה רפסמה תא ריזחת היצקנופה "ab346fsd32vbf1763dfd32d" תזורחמה רובע :אמגוד .1763 ריזחת היצקנופה .INT הנתשמב םיסנכנ תזורחמב םירפסמה לכש חנה :הרעה int big_num(char *str) { int i,degel=1,num=0,max=0; for (i=0; degel; i++) { if (str[i]>='0' && str[i]<='9') num=num*10+str[i]-'0'; else { if (num>max) max=num; num=0; } degel=(str[i]!=0); } return (max); } |