עבור לתוכן
View in the app

A better way to browse. Learn more.

HWzone

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

שאלה ב-C

Featured Replies

פורסם

צריך סיוע במימוש התכנית הבאה:

נתון מערך a בגודל N (הגדירו את N ב-define). כתבו תוכנית שמסדרת לתוך מערך b שאף הוא בגודל N את המספרים ממערך a כך שהשליליים נמצאים בתחילת המערך, החיוביים בסופו והאפסים ביניהם.

שימו לב! סדר המספרים בתוך המערך בין החיוביים לבין עצמם ובין השליליים לבין עצמם לא אמור להשתנות.

יש לקלוט ערכים למערך a. לאחר מכן יש לעבור על המערך a לכל היותר פעמיים ליצירת המערך b.

זה הקוד שלי, שהבעיה איתו, שהוא עובר על המערך 3 פעמים, אך מותר רק פעמיים:

#include<stdio.h> 
#define N 5
void sort_array(int a[], int b[], int n);

int main()
{

int a[N],b[N],i,j;

printf("\nPlease insert the first array (5 numbers): \n");
for(i=0;i<N;i++)
if (scanf("%d",&a[i])!=1)
  {
  printf("\nInput error!");
  return 1;
  }
printf("\The sorted array is: \n");
sort_array(a,b,N);

return 0;
}

void sort_array(int a[], int b[], int n)
{
int i=0,j=0;

for(i=0;i<n;i++)
  if (a[i]<0)
  {
  b[j]=a[i];
  printf("%d ",b[j]);j++;
  }

for(i=0;i<n;i++)
  if (a[i]==0)
  {
  b[j]=a[i];
  printf("%d ",b[j]);j++;
  }
       
for(i=0;i<n;i++)
  if (a[i]>0)
  {
  b[j]=a[i];
  printf("%d ",b[j]);j++;
  }
}

פורסם

מה הקטע , אתה מתכוון שמותר לך להשתמש אך ורק בשניי לולאות בפונקציה ?

פורסם
  • מחבר

לא בדיוק, זה אומר, שאפשר לעבור על מספרי המערך, שנקלט, מקסימום פעמיים.

פורסם

אז זה לא אמור להוות בעיה פשוט תאתחל את המערך השני מראש ( ככה תחסוך את הצבת האפסים ) . :xyxthumbs:

פורסם
  • מחבר

ענק!!! פשוט וגאוני :yelclap:

פורסם

אתה גם יכול בפעם הראשונה לספור כמה חיוביים, שליליים ואפשים יש.

ובלולאה השניה פשוט לשים כל אחד במקום המתאים לו.

למשל אם יש לך את המערך הבא:

1 0 -2 5 -1 0 30

אז יש לך 3 חיוביים, 2 אפסים ו- 2 שליליים.

לכן, בלולאה השניה, את הראשון שתשים(1) תשים במקום ה- 2(אפסים)+2(שליליים)=4

יש לך 0, ולכן תשים אותו במקום 2. אחר כך יש 0, ותשים אותו ב- 0.

אחר כך יש לך 5, תשים אותו במקום 2(אפסים)+2(שליליים)+1(החיובי ששמנו מקודם)=5

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.