Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

παιδια Καλησπερα προβλημα  στην if (Β[ι]>Α[ι] )δεν μου επιστρεφει 0 γιατι?

 

 

#include <stdlib.h>
#include <stdio.h>
#include <string.h>
int Mystrlen(int A[],int B[])
{
    int i;
  
 
  for(i=0;i<=5;i++)
  {
    if(A==B)
    {
 
      return 1;
      
    }
    else if(B>A)
    {
 
      return 0;
 
    }    
    
 
  }
 
  
}
int  main()
{
       
       int A[5]={10,20,30,40,50};
       int B[6]={10,20,30,40,50,60};
       printf("%d\n",Mystrlen(A,B));
      
 
 
  return 0;
}
 

 

 

 

  • Απαντ. 35
  • Δημ.
  • Τελ. απάντηση

Συχνή συμμετοχή στο θέμα

Δημοσ.

Γιατι το Β[5] υπάρχει ενώ το Α[5] οχι.. Αν παρατηρησεις Α -> 0 εως 4 και Β -> 0 εως 5 κελια.. Σε κάθε προηγουμενη συγκριση τα περιεχομενα ειναι ισα.

Δημοσ.

Διότι κάνει return μόλις συγκρίνει το πρώτο στοιχείο (δεν συνεχίζεται το loop).

 

Με άλλα λόγια συγκρίνει το A[0] με το B[0] (που είναι ίσα) και αμέσως επιστρέφει 1.

  • Like 2
Δημοσ.

Θέλεις να τους συγκρίνεις ως προς το πλήθος στοιχείων ή ως προς το περιεχόμενό τους;


Γιατι το Β[5] υπάρχει ενώ το Α[5] οχι.. Αν παρατηρησεις Α -> 0 εως 4 και Β -> 0 εως 5 κελια.. Σε κάθε προηγουμενη συγκριση τα περιεχομενα ειναι ισα.

Δε φτάνει ποτέ εκεί. Σταματάει στο πρώτο στοιχείο.

  • Like 1
Δημοσ.

εαν αλλαξω τιμη στο στοιχειο του πινακα το πρωτο και το κανω μεγαλυτερο παλι επιστρεφη 1 


Θέλεις να τους συγκρίνεις ως προς το πλήθος στοιχείων ή ως προς το περιεχόμενό τους;


Δε φτάνει ποτέ εκεί. Σταματάει στο πρώτο στοιχείο.

πρωτα με περιεχομενα και μετα ως προς το πληθος


παιδια το καταφερα το λαθος μου ηταν στον for το ειχα κανει ι=1 οχι ι=0

Δημοσ.

εαν αλλαξω τιμη στο στοιχειο του πινακα το πρωτο και το κανω μεγαλυτερο παλι επιστρεφη 1 

πρωτα με περιεχομενα και μετα ως προς το πληθος

παιδια το καταφερα το λαθος μου ηταν στον for το ειχα κανει ι=1 οχι ι=0

Μπορείς να μας δείξεις τον κώδικα που "δουλεύει";

Δημοσ.

για να βρω το πληθος θα βαλω τιμες σε καθε πινακα ?

Μπορείς να μας δείξεις τον κώδικα που "δουλεύει";

int Mystrlen(int A[],int B[])
{
 
  int i;
 
  for(i=0;i<B;i++)
  {
 
     if(A==B)
     {
 
       return 1;   
  
 
     }
  else if(B>A)
  {
 
 
     return 0;
 
  }
 
 
  }
 
 
}
int main ()
{
 
   int A[]={1,2,3,4,5};
   int B[]={1,2,3,4,8,};
 
   printf("%d\n",Mystrlen(A, B));
 
 
 εαν αλλαξω το πρωτο στοιχειο του πινακα επιστρεφει 0
ως προς τα περιεχομενα τους
 
 return 0;
}
Δημοσ.

Ναι φυσικα!

τωρα για το πληθος και των δυο πινακων λογικα θα καταχωρησω τιμες και για τους 2 πινακες ετσι?

Πίστεψε με δεν το εννοείς, σκέψου το παρακάτω

 

int A[]={2,5,10,11};
int B[]={1,2,7,9};
Δημοσ.

εννοεις για το περιεχομενο τους?

αν το τρεξω το προγραμμα π.χ αν ο Α ειναι μεγαλυτερος απο τον Β τοτε επεστρεψε μου την τιμη 1 ως προς  τα περιεχομενα εννοω ετσι?

Δημοσ.

Τα έχεις λίγο μπερδεμένα στο μυαλό σου και καλό είναι να ξεχωρίζεις

 

1) τι θέλεις να κάνεις?

2) πως γίνεται αυτό που θέλεις να κάνεις με κάποιο αλγόριθμο?

3) πως θα υλοποιήσεις τον αλγόριθμο σε μια γλώσσα προγραμματισμού

4) Τι κάνει κάθε εντολή που χρησιμοποιείς

 

Και σε ρωτώ: 

σίγουρα θέλεις το

for(i=0;i<B[i];i++)

και μου λες ναι, οπότε σε ρωτάω διαφορετικά τώρα: Ξέρεις τι σημαίνει μόνο η παραπάνω εντολή?  Αν μπορείς περιέγραψε μου με λογια τι σημαίνει... 

  • Like 1
Δημοσ.

for(i=0;i<B;i++)

 

πρωτα ελεγχη αν η πρωτη θεσει του πινακα A ειναι ισοι με την πρωτη θεση του πινακα B εαν ειναι αυξησε μου την θεση του πινακα Α κατα 1 σωστα και παει λεγοντας ετσι?

Δημοσ.

for(i=0;i<B;i++)

 

πρωτα ελεγχη αν η πρωτη θεσει του πινακα A ειναι ισοι με την πρωτη θεση του πινακα B αυξησε μου την θεση κατα 1 σωστα και παει λεγοντας ετσι?

Περιέγραψε μόνο το for. Δεν έχει κανένα πίνακα A στην γραμμή αυτή. Πως θα το διάβαζες;

Δημοσ.

Περιέγραψε μόνο το for. Δεν έχει κανένα πίνακα A στην γραμμή αυτή. Πως θα το διάβαζες;

κανε το i =0 ειναι το i μεγαλυτερο απο τον πινακα Β? αυξησε το i κατα 1

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα

  • Δημιουργία νέου...