ABA


"שאלה ב-Java (מערכים)"
גירסת הדפסה        
קבוצות דיון פיתוח, תיכנות ובניית אתרים נושא #15908 מנהל    סגן המנהל    מפקח   Winner    צל"ש   מומחה  
אשכול מספר 15908
Drunken-Dwarf
חבר מתאריך 21.9.09
4563 הודעות
   18:00   22.05.10   
אל הפורום  
  שאלה ב-Java (מערכים)  
 
   כתוב תכנית שתקלוט 20 מספרים לתוך מערך בגודל 20.
לאחר מכן התכנית תקלוט מספר שלם K.
התכנית תבצע הזזה סיבובית שמאלה K פעמים ותדפיס את המערך החדש.

באופן כללי נתקעתי בהזזה הסיבובית.
חשבתי אולי להשוות את התא הראשון במערך לזה שמימינו וליצור מערך TEMP
שישמור את המספרים שהתחלפו, אבל הסתבכתי עם הכתיבה של הקוד :\

אשמח לעזרה

(*ד"א, עדיף שהתשובה תיהיה ברמת תיכון כדי שאני אבין).


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

  האשכול     מחבר     תאריך כתיבה     מספר  
  תצייר את זה לעצמך ldan192  22.05.10 18:29 1
     אני מצליח להבין ת'לוגיקה, גם אני חשבתי על זה Drunken-Dwarf 22.05.10 18:47 2
  עדכון- ניסיון לתכנית Drunken-Dwarf 22.05.10 19:03 3
     for (a = 0; a = 20; i )? ldan192  22.05.10 19:38 4
         זה צנזר לי את הסוגרים המרובעים, זה לא מה שהיה כתוב שם Drunken-Dwarf 22.05.10 19:44 5
     לאחר המרה. Deuce  22.05.10 20:31 6
  מכתב Drunken-Dwarf 22.05.10 20:31 7
     הסתדרת כבר בסוף? ldan192  24.05.10 15:54 8

       
ldan192 
חבר מתאריך 14.9.08
95119 הודעות
   18:29   22.05.10   
אל הפורום  
  1. תצייר את זה לעצמך  
בתגובה להודעה מספר 0
 
אתה תראה שהתא ה-0 יתחלף עם ה-k-1,
ה-k-1 יתחלף עם ה-k-1 + k) % 20),
ככה תמשיך 10/9 צעדים וסיימת (סתם זרקתי עכשיו, לא בטוח אם אין לי טעויות בדרך).

אבל אלה דברים שחבל שאתה שואל פה כי זה הבסיס בלוגיקה ואח"כ במבחנים יהיה לך קשה מאוד אם לא תשבור את הראש עכשיו ותקבל אינטואיציה בחינם.


בברכה,
עידן


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Drunken-Dwarf
חבר מתאריך 21.9.09
4563 הודעות
   18:47   22.05.10   
אל הפורום  
  2. אני מצליח להבין ת'לוגיקה, גם אני חשבתי על זה  
בתגובה להודעה מספר 1
 
   אני פשוט לא מצליח להביא את עצמי לכתוב את זה. (לא מצליח לכתוב ת'קוד עצמו הכוונה).


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Drunken-Dwarf
חבר מתאריך 21.9.09
4563 הודעות
   19:03   22.05.10   
אל הפורום  
  3. עדכון- ניסיון לתכנית  
בתגובה להודעה מספר 0
 
   ערכתי לאחרונה בתאריך 22.05.10 בשעה 19:11 בברכה, Drunken-Dwarf
 

import java.util.Scanner;

public class VectorsQ22
{
static Scanner kelet = new Scanner(System.in);

static final int ARRAY = 20;

public static void getnums(int a)
{

for (int i = 0; i <= 20; i++)
{
System.out.println("הכנס מספר");
a = kelet.nextInt();
}

}

public static void MoveLeft(int a)
{

for (int i = 0; i <= 20; i++)
{
for (a = 0; a <= 20; i++)
{
a = a;
}
}
}


public static void GetKTimes(int a)
{

int K;

for (int i = 0; i <= 20; i++)
{
for (a = 0; a <= 20; i++)
{
System.out.println("הכנס את מספר ההזזה הסיבובית");
K = kelet.nextInt();
}
K = a(i + 1);
}
}

public static void Print(int a)
{

for (int i = 0; i < 20; i++)
{
System.out.println(a);
}
}

public static void main(String args)
{

int a = new int;

getnums(a);
MoveLeft(a);
GetKTimes(a);
Print(a);

}

}



מה השגיאה פה?


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
ldan192 
חבר מתאריך 14.9.08
95119 הודעות
   19:38   22.05.10   
אל הפורום  
  4. for (a = 0; a = 20; i )?  
בתגובה להודעה מספר 3
 
עשית קצת סלט.

אם אתה רוצה בדרך הכי הכי בסיסית אז אתה צריך לבצע בעצם k איטרציות (ולא 20) של 20 העברות איברים צעד אחד קדימה (מודולו 20).
אתה בכלל הסתכלת על ערכי המערך וזה בכלל לא מה שהתכוונו..


בברכה,
עידן


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Drunken-Dwarf
חבר מתאריך 21.9.09
4563 הודעות
   19:44   22.05.10   
אל הפורום  
  5. זה צנזר לי את הסוגרים המרובעים, זה לא מה שהיה כתוב שם  
בתגובה להודעה מספר 4
 
   (a(i) = 0; a(i) <= 20; i++)

ה-++ קפץ לי צד עכשיו אבל תחשוב שהi נמצא בסוגרים מרובעים

יש לי אותך במסנ' נכון?
עשה טובה ותתחבר


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Deuce 
חבר מתאריך 1.9.08
6225 הודעות
   20:31   22.05.10   
אל הפורום  
  6. לאחר המרה.  
בתגובה להודעה מספר 3
 

import java.util.Scanner;

public class VectorsQ22
{
static Scanner kelet = new Scanner(System.in);

static final int ARRAY = 20;

public static void getnums(int[] a)
{

for (int i = 0; i <= 20; i++)
{
System.out.println("הכנס מספר");
a[i] = kelet.nextInt();
}

}

public static void MoveLeft(int[] a)
{

for (int i = 0; i <= 20; i++)
{
for (a[i] = 0; a[i] <= 20; i++)
{
a[i] = a[i + 1];
}
}
}


public static void GetKTimes(int[] a)
{

int K;

for (int i = 0; i <= 20; i++)
{
for (a[i] = 0; a[i] <= 20; i++)
{
System.out.println("הכנס את מספר ההזזה הסיבובית");
K = kelet.nextInt();
}
K = a(i + 1);
}
}

public static void Print(int[] a)
{

for (int i = 0; i < 20; i++)
{
System.out.println(a[i]);
}
}

public static void main(String[] args)
{

int[] a = new int[ARRAY];

getnums(a);
MoveLeft(a);
GetKTimes(a);
Print(a);

}

}



מה השגיאה פה?
ציטוט מאת: Drunken-Dwarf







                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Drunken-Dwarf
חבר מתאריך 21.9.09
4563 הודעות
   20:31   22.05.10   
אל הפורום  
  7. מכתב  
בתגובה להודעה מספר 0
 
   import java.util.Scanner;

public class VectorsQ22
{
static Scanner kelet = new Scanner(System.in);

static final int ARRAY = 20;

// ===========//

public static void getnums(int[] a)
{

for (int i = 0; i <= 20; i++)
{
System.out.println("הכנס מספר");
a[i] = kelet.nextInt();
}

}
// ===========//

public static void MoveLeft(int[] a)
{

for (int i = 0; i <= 20; i++)
{
for (a[i] = 0; a[i] <= 20; i++)
{
a[i] = a[i + 1];
}
}
}

// ===========//
public static void GetKTimes(int[] a)
{

int K;

for (int i = 0; i <= 20; i++)
{
for (a[i] = 0; a[i] <= 20; i++)
{
System.out.println("כנס את מספר ההזזה הסיבובית");
K = kelet.nextInt();
}
K = a[i + 1];
}
}
// ===========//
public static void Print(int[] a)
{

for (int i = 0; i < 20; i++)
{
System.out.println(a[i]);
}
}

// ===========//
public static void main(String[] args)
{

int[] a = new int[ARRAY];

getnums(a);
MoveLeft(a);
GetKTimes(a);
Print(a);

}

}


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
ldan192 
חבר מתאריך 14.9.08
95119 הודעות
   15:54   24.05.10   
אל הפורום  
  8. הסתדרת כבר בסוף?  
בתגובה להודעה מספר 7
 


בברכה,
עידן


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

תגובה מהירה  למכתב מספר: 
 
___________________________________________________________________

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



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