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

Σχετικά με διεπαφές


cancer_X

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

Δημοσ.

Γειά σας.

 

θα ήθελα να ρωτήσω αν μπορεί κάποιος να με βοηθήσει στο παρακάτω πρόβλημα.

έχουμε την διεπαφή με κύριο πρόγραμμα το:

> 
#include<stdio.h>
#include<conio.h>
#include<dos.h>
#include<stdlib.h>
#include <time.h>
#include "sorting_methods.h"  

#define N 30000

int getUniqueNumber(int p[N], int i);

main()
{
   int i,p[N];
   long t0,t1,dt; //dt posos xronos perase
   struct time t;
   FILE *f;

   randomize();

  gettime(&t0);
   t0=(360000*t.ti_hour+6000*t.ti_min+100*t.ti_sec+t.ti_hund);
   for (i=0;i<N;i++)
   {
     p[i] = getUniqueNumber(p,i);
     f=fopen("C:\\results.txt","w");
   }
   bubblesort_int(p,N);

  gettime(&t);
  t1=(360000*t.ti_hour+6000*t.ti_min+100*t.ti_sec+t.ti_hund);
getch();
return 0;
}

int getUniqueNumber(int p[N], int i)
{
  int x,j, found;

   do
   {
     x=random(32768);
     found = 0;
     j=0;

     while (j<=i && found==0)
     {
        if (p[j]==x)
              found = 1;
        else
               j++;
     }
   }while (found == 1);


   return x;
}

και στην διεπαφή την συνάρτηση:

> 
void bubblesort_int(int *s,int n)
{
 int i,j,temp,o;

  for (i=1;i<n;i++)
  {
     printf("\n i=%d",i);
     for(o=0;o<n;o++)
     {
          printf("%.2d",s[o]);
     }
    for (j=n-1;j>=i;j--)
     {
      if (s[j-1]>s[j])
      {
         temp=s[j-1];
         s[j-1]=s[j] ;
         s[j]=temp ;
      }
  }
 }
}

 

το πρόγραμμα ορίζει εναν πινακα ακεραιων p[] τον οποίο ταξινομει με την μέθοδο της φυσαλίδας ,η συνάρτηση της φυσαλίδας έχει αναπτυχθεί και δηλωθεί στην διεπαφή

sorting_methods.h οπως την παραθέτω παραπάνω, στην συνέχεια αποδίδονται αρχικές τιμές με την συνάρτηση getUniqueNumber που έχει αναπτυχθεί κάτω απο την main.πρέπει να υπολογίζουμε τον συνολικό χρόνο ταξινόμησης με την συνάρτηση gettime(δεν προσμετράτε ο χρόνος απόδσης τιμών(γιαυτό και η αφαίρεση),τα αποτελέσματα θα γράφονται στο αρχείο results.txt.

Μπορεί κάποιος να με βοηθήσει ,γιατί δεν μου τρέχει το πρόγραμμα;

 

ευχαριστώ.

Δημοσ.
αμα σου πω τωρα δεν ξέρω τι ειναι αυτοοοο

 

όταν γράφεις τον κώδικα σου εδώ

πατάς πρώτα από το γκρι πλαισιο πιο πάνω το #

σου εμφανίζει σε αγκύλες

 

(CODE)(/CODE) ανάμεσα τους γράφεις τον κώδικα σου

 

π.χ.

(CODE)

#include <stdio.h>

(/CODE)

 

Υ.Γ. αντί (,) εσύ θα βλέπεις [,] το έκανα σκόπιμα για να σου εξηγήσω

Δημοσ.

Δεν μου βρίσκεται πρόχειρος compiler τώρα αλλά αν θέλεις μπορείς να μας πεις τι error σου έβγαλε μήπως καταλάβω.. είσαι σίγουρος ότι έχεις γράψει σωστά το #include "sorting_methods.h" γιατί μην ξεχνάς ότι πρέπει να γράψεις ολόκληρο το path μέσα (π.χ #include "C:/methods/sorting_methods.h") ή να το βάλεις μεσα σε κάποιο φάκελο του compiler (ίσως..)..

Δημοσ.

οταν κανω compile μου πεταει λαθος unresolved external int bubblesort_int κ μολις βαλω την συναρτηση μεσα σε // στο σημειο που την καλω στην main κανει κανονικο compile :/

Δημοσ.

ο λινκερ δε μπορει να βρει το object (.o) που περιεχει το implementation της bubblesort_int. Εχεις συμπεριλαβει στο προτζεκτ το .c (ή .cpp) που βρισκεται το σώμα της συναρτησης; 'Η αν το κανεις απο command line, βάζεις και το .c αρχειο στην εντολη για το compile?

πχ, αν χρησιμοποιεις gcc κανεις κατι παρομοιο με αυτο:


$ gcc -Wall main.c bubblesort.c -o [font=Trebuchet MS]myapp

 

[[/font]code]

Δημοσ.

βασικά χρησιμοποιώ τον c++ builder 6,'εχω δημιουργήσει την main και την διεπαφή και τα έχω αποθηκεύσει μαζί σε ένα project. τα κάνω build αλλά δεν...

Δημοσ.

το cpp

 

>
[/color]#include "sorting_methods.h"


void bubblesort_int(int *s,int n)
{
 int i,j,temp,o;

  for (i=1;i<n;i++)
    for (j=n-1;j>=i;j--)
      if (s[j-1]>s[j])
      {
         temp=s[j-1];
         s[j-1]=s[j] ;
         s[j]=temp ;
      }
}

Αρχειοθετημένο

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

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