ABA


"|עזרה|צריך בבקשה עזרה בC"
גירסת הדפסה        
קבוצות דיון פיתוח, תיכנות ובניית אתרים נושא #11010 מנהל    סגן המנהל    מפקח   Winner    צל"ש   מומחה  
אשכול מספר 11010
LaVy
חבר מתאריך 20.2.12
390 הודעות, דרג אמינות חבר זה
   14:24   16.11.12   
אל הפורום  
  |עזרה|צריך בבקשה עזרה בC  
 
   ערכתי לאחרונה בתאריך 16.11.12 בשעה 14:28 בברכה, LaVy
 
באופציה זו בתפריט תבקש התכנית 2 מספרים שטווחם ינוע בין 7 ל 20 ( כולל קצות הטווח ), המספרים יהוו אורך ורוחב של מלבן שיודפס על המסך. בהינתן 2 המספרים הללו תיצור התכנית מלבן עם 2 שכבות. השכבה החיצונית תהיה מורכבת מהאות O ( o גדולה ), והשכבה האמצעית תהיה מורכת מריבועים בגודל 3*3 שנתייחס אליהם כאל מטריצה. האלכסון הראשי של המטריצה יורכב מהתו '\' , החלק מעל לאלכסון במטריצה יורכב מ התו '+' והחלק התחתון יורכב מהתו '-' . החוקיות להדפסה היא : על 2 השכבות למלא את כל המלבן, לשכבה החיצונית יהיה לפחות עובי של 1 גם לגובה וגם לאורך, על המלבן להכיל מקסימום ריבועים פנימיים ועל השכבה החיצונית להיות סימטרית לצירים x ו - y כאשר מספר המטריצות בכל מימד יכול להיות זוגי או איזוגי בהתאם לדרישות ( בסוף המלבן תופיע שורת רווח ).
לדוגמא עבור מלבנים בגדלים 10*12 , 8*9 , 7*20 יוצג הפלט הבא :

משום מה לא הולך לי בכלל.. לא מצליח להגיע לאלגוריתם מתאים.
מה שעשיתי עד כה (וזה לא טוב) זה:
int main(){
int h,w,t,j=0,t1,z=0,q,x,y=0,g=0;

do{
printf("Please enter the square height, range 7-20\n");
scanf("%d",&h); /* h = height */
}while(h<7 || h>20); //checking input//
do{
printf("Please enter the square width, range 7-20\n");
scanf("%d",&w); /* w = width */
}while(w<7 || w>20); //checking input//


if(w%3==0){
do{


printf("OOO");
for(q=3;q<(w-5);q=q+3){
printf("\\++");
}
printf("OOO\n");
z++;
printf("OOO");
for(q=3;q<(w-5);q=q+3){
printf("-\\+");
}
printf("OOO\n");
z++;
printf("OOO");
for(q=3;q<(w-5);q=q+3){
printf("--\\");
}
printf("OOO\n");
z++;
}while(z<(h-6));
}
else if((w+2)%3==0){
do{


printf("OO");
for(q=2;q<(w-5);q=q+3){
printf("\\++");
}
printf("OO\n");
z++;
printf("OO");
for(q=2;q<(w-5);q=q+3){
printf("-\\+");
}
printf("OO\n");
z++;
printf("OO");
for(q=2;q<(w-5);q=q+3){
printf("--\\");
}
printf("OO\n");
z++;
}while(z<(h-4));
}
else{
do{


printf("O");
for(q=1;q<(w-5);q=q+3){
printf("\\++");
}
printf("O\n");
z++;
printf("O");
for(q=1;q<(w-5);q=q+3){
printf("-\\+");
}
printf("O\n");
z++;
printf("O");
for(q=1;q<(w-5);q=q+3){
printf("--\\");
}
printf("O\n");
z++;
}while(z<(h-2));
}

}




למישהו יש כיוון בבקשה בשבילי?
תודה רבה ומצטער על הבורות (ממש מתחיל בתכנות)


                                שתף        
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

תגובה מהירה
___________________________________________________________________

___________________________________________________________________
למנהלים:  נעל | תייק בארכיון | מחק | העבר לפורום אחר | מחק תגובות | עגן אשכול
       



© כל הזכויות שמורות ל-רוטר.נט בע"מ rotter.net