Δημοσιεύτηκε: 24 Ιούλ 2011, 21:56
από stamatiou
Qdata έγραψε:
stamatiou έγραψε:Εμένα μου τρέχει μια χαρά με το cc... :/


Και εμένα αλλά εγώ αναγκάστηκα να βάλω:
Κώδικας: Επιλογή όλων
if(fill == 1 || fill == 0);
else
{
printf("Η τιμή του γεμίσματος πρέπει να είναι μια επιλογή μεταξύ 0 και 1!\n");
exit(0);
}


Δηλαδή να αφήσω το if κενό.Είναι σαν να λέω:
Κώδικας: Επιλογή όλων
ΑΝ(η fill είναι ίση με 1 ή η fill είναι ίση με 0) ΤΌΤΕ ΤΊΠΟΤΑ(πάμε στην επόμενη εντολή)
ΑΛΛΙΏΣ τύπωσε "Η τιμή του γεμίσματος πρέπει να είναι μια επιλογή μεταξύ 0 και 1!" και κλείσε το πρόγραμμα.

Εγώ θέλω να πω:
Κώδικας: Επιλογή όλων
ΑΝ(η fill δεν είναι ίση με 0 ή 1) ΤΌΤΕ τύπωσε "Η τιμή του γεμίσματος πρέπει να είναι μια επιλογή μεταξύ 0 και 1!" και κλείσε το πρόγραμμα.

Δεν έχω ιδέα.. :/
--------------------------------------Είπα να συμμαζέψω μερικές από τις ερωτήσεις μου εδώ:
Spoiler: show
Έχουμε τον παρακάτω κώδικα:
Κώδικας: Επιλογή όλων
/* getline: get line into s, return length */
int getline(char s[], int lim)
{
int c, i;
i = 0;
while (--lim > 0 && (c=getchar()) != EOF && c != '\n')
s[i++] = c;
if (c == '\n')
s[i++] = c;
s[i] = '\0';
return i;
}

Αυτό το κομμάτι δεν θα έπρεπε να είναι s[++i] = c;
-----------------------------------------------2η ερώτηση:
Κώδικας: Επιλογή όλων
/* strindex: return index of t in s, -1 if none */
int strindex(char s[], char t[])
{
int i, j, k;
for (i = 0; s[i] != '\0'; i++) {
for (j=i, k=0; t[k]!='\0' && s[j]==t[k]; j++, k++)
;
if (k > 0 && t[k] == '\0')
return i;
}
return -1;
}

Δεν καταλαβαίνω τι σκοπό εξυπηρετεί το κομμάτι:
Κώδικας: Επιλογή όλων
for (j=i, k=0; t[k]!='\0' && s[j]==t[k]; j++, k++)
;
if (k > 0 && t[k] == '\0')
return i;

-----------------------------------3η
Δεν καταλαβαίνω την εκφώνηση αυτής της άσκησης:
Exercise 4-1. Write the function strindex(s,t) which returns the position of the rightmost occurrence of t in s, or -1 if there is none.