Guest 990498
Επισκέπτης



Σημείωση: Το μήνυμα αυτό γράφτηκε 16 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
Γιώργος
Τιμώμενο Μέλος



Οκ, ψάξε αυτό πού είναι.

Σημείωση: Το μήνυμα αυτό γράφτηκε 16 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
Guest 990498
Επισκέπτης


Εναλλακτικά βάλε την system("PAUSE") αντί για scanf ,αλλά θα κάνεις include την <stdlib.h>
ή με τρίτο τρόπο κάνοντας χρήση breakpoints για τμηματική εκτέλεση του κώδικα.
Σημείωση: Το μήνυμα αυτό γράφτηκε 16 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
praktor000
Νεοφερμένο μέλος


Σημείωση: Το μήνυμα αυτό γράφτηκε 16 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
Γιώργος
Τιμώμενο Μέλος


Καλησπέρα και καλωσήρθες.Δεν ξέρω πώς να υλοποιήσω το εξωτερικό γινόμενο. Έχετε κάποια ιδέα;

Θα πρέπει προφανώς να "αλγοριθμοποιήσεις" τον ορισμό του εξωτερικού γινομένου. Έχεις κάνει κάποια προσπάθεια να μας πεις πού κόλλησες;

Σημείωση: Το μήνυμα αυτό γράφτηκε 16 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
praktor000
Νεοφερμένο μέλος


Σημείωση: Το μήνυμα αυτό γράφτηκε 16 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
Guest 990498
Επισκέπτης


Σημείωση: Το μήνυμα αυτό γράφτηκε 16 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
Γιώργος
Τιμώμενο Μέλος



Δηλαδή, εάν θέλεις να φτιάξεις μία συνάρτηση, προφανώς και δεν χρειάζεται να βάλεις επανάληψη εκεί. Τώρα αν θέλεις να 'ναι αυτό το κυρίως πρόγραμμά σου, είτε βάζεις είτε δεν βάζεις.
Αλλά το να δίνεις τα στοιχεία και να βγάζεις βάση του τύπου τις συντεταγμένες του νέου διανύσματος... αυτό πάντα προφανώς θα το κάνεις.

Τι "επανάληψη" εννοείς;

Σημείωση: Το μήνυμα αυτό γράφτηκε 16 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
praktor000
Νεοφερμένο μέλος


Εννοούσα επανάληψη για την εισαγωγή των στοιχείων των διανυσμάτων... Αλλά μαλλον δεν χρειάζεται. Αναζητούσα τρόπο για την είσοδο των στοιχείων αυτών. Αλλά μπορώ να τα εισάγω ένα ένα και μετά να εφαρμόσω τον τύπο ως έχει...
Ποιες ενέργειες πρέπει να ακολουθήσω για να αντιμετώπισω το ακόλουθο λάθος κατά το compiling;
error: redefinition of ' όνομα συνάρτησης '
error: previous definition of ' όνομα συνάρτησης ' was here
Το μήνυμα αυτό μου το βγάζει για την γραμμή στην οποία ξεκινώ να γράφω το περιεχόμενο της συνάρτησης.
Εχετε κάποια ιδέα;
Σημείωση: Το μήνυμα αυτό γράφτηκε 16 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.


Για παράδειγμα, υλοποιείς ένα header (file.h) αρχείο με προτότυπα των συναρτήσεων σου και τις υλοποιείς στο .c αρχειο (file.c).
Στο file.c θα έχεις κανει include το file.h και θα υπάρχουν οι υλοποιήσεις των συναρτήσεων.
Στην συνάρτηση main που έχεις εκεί κάνεις include μόνο το file.h , αν κάνεις και το file.c προκύπτει το error που συνάντησες γιατί βρίσκει δύο φορές υλοποιημένες τις συναρτήσεις.
Και σε κώδικα για πιο κατανοητά
αρχείο file.h
/* file.h */
/*prototypes*/
void function1(arguments);
void function2(arguments);
.
.
/* file.c */
/*υλοποίηση συναρτήσεων*/
#include "file.h"
void function1(arguments){
/*body*/
return;
}
void function2(arguments){
/*body*/
return;
}
.
.
/* main function */
#include "file.h"
int main(void){
/*body*/
return 0;
}
/* main function */
/*πολλαπλή δήλωση συναρτήσεων*/
#include "file.h"
#include "file.c" /*προκαλεί error */
int main(void){
/*body*/
return 0;
}
Σημείωση: Το μήνυμα αυτό γράφτηκε 16 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
praktor000
Νεοφερμένο μέλος


Ευχαριστώ και πάλι !!!
Σημείωση: Το μήνυμα αυτό γράφτηκε 16 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
praktor000
Νεοφερμένο μέλος


Λοιπόν, έχω πρώτον ένα αρχείο, το programma.c, όπου έχω την main μου και το οποίο ξεκινά:
#include<stdio.h>
#include<stdlib.h>
#include"lib.h"
Δεύτερον, ένα αρχείο, το lib.c, όπου έχω υλοποιήσει όλες μου τις συναρτήσεις και το οποίο ξεκινά: #include"lib.h"
Kαι τέλος έχω ένα αρχείο, το lib.h, όπου έχω τα πρωτότυπα των συναρτήσεων μου.
Τι κάνω λάθος?
Σημείωση: Το μήνυμα αυτό γράφτηκε 16 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.


Επίσης πώς έκανες compile τα αρχεία σου;(εννοώ αν τα έκανες με κάποιο ide ή μέσω γραμμής εντολών; )
Αυτό συμβαίνει μάλλον γιατι τα αρχεία δεν γίνονται linked.
Σημείωση: Το μήνυμα αυτό γράφτηκε 16 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
praktor000
Νεοφερμένο μέλος


Σημείωση: Το μήνυμα αυτό γράφτηκε 16 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.


gcc lib.c programma.c .
Δεν το ετρεξα γιατι ειναι πρωι και πρεπει να φύγω.Πάντως αυτός ειναι ο λόγος.
Σημείωση: Το μήνυμα αυτό γράφτηκε 16 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
praktor000
Νεοφερμένο μέλος


Έχετε κάποια ιδέα για το πώς να αντιμετωπίσω το segmentation fault. Μου το βγάζει για όλες μου τις συναρτήσεις... Help me plz
Σημείωση: Το μήνυμα αυτό γράφτηκε 16 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.


Έχετε κάποια ιδέα για το πώς να αντιμετωπίσω το segmentation fault. Μου το βγάζει για όλες μου τις συναρτήσεις... Help me plz
Πακέτο.
Γι αυτή την περίπτωση δεν μας δείχνεις κάποια συνάρτηση;
Μπορεί να επιχειρείς να κάνεις προσπέλαση κάπου που δεν επιτρέπεται.Για παραδειγμα να βγεις εκτός ορίων σε ενα array.
Σημείωση: Το μήνυμα αυτό γράφτηκε 16 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
praktor000
Νεοφερμένο μέλος


/*Pragmatwsi epilogis: Dimiourgia monadiaiou pinaka */
case 3: {
/*Diavazoume poses grammes tha exei o pinakas*/
printf("Dwse ton arithmo twn grammwn tou pinaka : \n");
scanf("%d",&grammes);
/*Diavazoume poses sthles tha exei o pinakas*/
printf("Dwse ton arithmo twn sthlwn tou pinaka : \n");
scanf("%d",&sthles);
if (grammes==sthles)
{
/*Dimiourgei ena monadiaio pinaka*/
monadiaios_pinakas(&pinakas, grammes, sthles);
}
else
{
printf("Dwsate lanthasmena dedomena - Dokimaste pali: \n");
exit(1);
}
break;
}
/*Dimiourgei tis theseis tou pinaka*/
void make_pinaka(double ***pinaka, int grammes, int sthles)
{
int i,j;
if (grammes>0 && sthles>0)
{
*pinaka=(double **)malloc(grammes*sizeof(double*));
for (i=0;i<grammes;i++)
{
pinaka[i]=(double *)malloc(sthles*sizeof(double));
}
}
else
{
printf("Dwsate lanthasmena dedomena - Dokimaste pali");
}
}
/*Dimiourgei ena monadiaio pinaka*/
void monadiaios_pinakas(double ***pin, int grammes, int sthles)
{
int i, j;
double **pinakas;
make_pinaka(&pinakas,grammes,sthles);
for (i=0;i<grammes;i++)
{
for (j=0;j<sthles;j++)
{
if (i==j)
{
pinakas[i][j]=1;
}
}
}
*pin=pinakas;
}
Σημείωση: Το μήνυμα αυτό γράφτηκε 16 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.


void make_pinaka(double ***pinaka, int grammes, int sthles)
{
int i,j;
double **temp; /*έβαλα αυτό*/
if (grammes>0 && sthles>0)
{
temp=(double **)malloc(sizeof(double)); /*έβαλα αυτό*/
for (i=0;i<grammes;i++)
{
*(temp+i)=(double *)malloc(sthles*sizeof(double)); /*έβαλα αυτό*/
}
}
else
{
printf("Dwsate lanthasmena dedomena - Dokimaste pali");
}
*pinaka=temp;
}
Λίγο που επιχείρησα να το τρέξω εκεί μου χτύπαγε segmentation fault.Για δες και έτσι και πες μου.
Σημείωση: Το μήνυμα αυτό γράφτηκε 16 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
Χρήστες Βρείτε παρόμοια
-
Φορτώνει...
-
Το forum μας χρησιμοποιεί cookies για να βελτιστοποιήσει την εμπειρία σας.
Συνεχίζοντας την περιήγησή σας, συναινείτε στη χρήση cookies στον περιηγητή σας.