מחרוזות

brokenn

New member
מחרוזות

אפשר הסבר לחלק המודגש בבקשה?:)
זה קוד לפונקציה שמחזירה את מספרים התווים במחרוזת:

int my_strlen(char str[])
{
int count=0;
while(str[count]!='\0')
{
count++;
}
return count;
}
 

nocgod

New member
ניסית לדבג את זה שלב שלב?

כפי שאמרת הפונקציה אמורה להחזיר את מספר התווים במחרוזת.
כפי שאתה רואה, מאפסים את count ל 0 שבמקרה הוא גם הindex הראשון של התו הראשון במחרוזת
מה שהwhile עושה זה אומר קח את התו במקום ה count (עבור מקרה בסיס count שווה ל 0 אזי התו הראשון במחרוזת) ותבדוק אם מדובר בסוף 0\, אם לא תגדיל את הcount ובמקרה הזה, תקדם את הindex גם.
 

brokenn

New member
הקוד המלא

#include <stdio.h>
#include <conio.h>

#define N 5
int number (int arr[], int n);

void main(){
int a[]={0,1,5,3,4};
printf("%d", number(a,N));
_getch();
}

int number (int arr[],int n){
int temp[N+1]={0},i;

for (i=0; i<n; i++)
temp[arr]++;
for (i=0; i<n+1; i++)
if (! temp)
return i;
return -1;
}
 

brokenn

New member
הקוד המלא

#include <stdio.h>
#include <conio.h>

#define N 5
int number (int arr[], int n);

void main(){
int a[]={0,1,5,3,4};
printf("%d", number(a,N));
_getch();
}

int number (int arr[],int n){
int temp[N+1]={0},i;

for (i=0; i<n; i++)
temp[arr]++;
for (i=0; i<n+1; i++)
if (! temp)
return i;
return -1;
}
 

brokenn

New member
או לדוגמא פלא כזה

\void f(int n){
int i,country, count_array[N]= {0};
for(i=0;i<n;i++) {
printf("Enter your country num: ");
scanf("%d",&country);
count_array[country]++;
 

עדין ר

New member
האופרטור ++ פשוט מגדיל את האופרנד ב-1.

השורה המודגשת מגדילה את הערך ששמור במערך count_array במקום ה-country. למשל, אם ייקלט הערך 3 ל-country, יוגדל ב-1 ערכו של האיבר הרביעי במערך (האינדקס של האיברים מתחיל ב-0).
 

brokenn

New member
תודה רבה

ובדוגמא זו:temp[arr]++;

זה על אותו העיקרון?
 

BravoMan

Active member
כן, רק שכאן האינדקס עבור מערך temp

נמצא בתוך איבר מסוים של מערך arr באינדקס i.

כלומר, אם בתא מספר i בתוך arr יש 5, אז אפשר לכתוב את השורה כ:

temp[5]++;
 

brokenn

New member
ואז הערך 5 גדל ב1 נכון?

זה בעצם מערך מונים?


אתה מכיר במקרה איזה אתר טוב שיוכל לעזור לי בC++??
כי ההרצאות לא להיט
 
למעלה