gauss για c

Συζητήσεις για την γλώσσα C και C++

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση
deaftron
Δημοσιεύσεις: 1
Εγγραφή: 23 Δεκ 2010 15:55

gauss για c

Δημοσίευση από deaftron » 23 Δεκ 2010 16:06

Εκφώνηση:
Ζητείται η ανάπτυξη ενός προγράμματος που θα επιλύει γραμμικό σύστημα εξισώσεων με τη μέθοδο του Gauss. τα δεδομένα εισόδου θα διαβάζονται από αρχείο κειμένου με το όνομα ‘Gauss_in.txt’. Η έξοδος του προγράμματος θα είναι ένα αρχείο με όνομα ‘Gauss_out.txt’. Τα περιεχόμενα του αρχείου θα είναι ένας αριθμός σε κάθε γραμμή. Στην πρώτη γραμμή περιέχει το πλήθος των εξισώσεων και στη συνέχεια τους συντελεστές κάθε εξίσωσης γραμμή-γραμμή.

Παράδειγμα:
Για την εξίσωση
3*x1 + 4*x2 = 3
x1 + 2*x2 = 1

Το αρχείο εισόδου θα περιέχει τα ακόλουθα δεδομένα:
2
3
4
3
1
2
1

Το αρχείο εξόδου θα είναι το ακόλουθο:
1
0

ο κώδικας που έχω γραψει είναι ο εξής

#include <stdio.h>

int n;
float a[10][11];

void forwardSubstitution() {
int i, j, k, max;
float t;
for (i = 0; i < n; ++i) {
max = i;
for (j = i + 1; j < n; ++j)
if (a[j] > a[max])
max = j;

for (j = 0; j < n + 1; ++j) {
t = a[max][j];
a[max][j] = a[j];
a[j] = t;
}

for (j = n; j >= i; --j)
for (k = i + 1; k < n; ++k)
a[k][j] -= a[k]/a * a[j];

/* for (k = 0; k < n; ++k) {
for (j = 0; j < n + 1; ++j)
printf("%.2f\t", a[k][j]);
printf("\n");
}*/
}
}
int main(int argc, char *argv[]) {
int i, j;

FILE *fin = fopen("gauss.in", "r");
fscanf(fin, "%d", &n);
for (i = 0; i < n; ++i)
for (j = 0; j < n + 1; ++j)
fscanf(fin, "%f", &a[j]);
fclose(fin);

gauss();

return 0;
}

Ας με βοηθήσει κάποιος γιατί η προθεσμία λήγει σήμερα
σας ευχαριστω

Άβαταρ μέλους
virxen75
Δημοσιεύσεις: 493
Εγγραφή: 18 Φεβ 2009 00:17
Τοποθεσία: ΗΡΑΚΛΕΙΟ ΚΡΗΤΗΣ

gauss για c

Δημοσίευση από virxen75 » 23 Δεκ 2010 18:02

o αλγόριθμος ποιος είναι?

Άβαταρ μέλους
dva_dev
Script Master
Δημοσιεύσεις: 3790
Εγγραφή: 16 Σεπ 2005 01:32
Επικοινωνία:

gauss για c

Δημοσίευση από dva_dev » 23 Δεκ 2010 18:11

deaftron έγραψε:...ο κώδικας που έχω γραψει είναι ο εξής...
O κώδικας που έχεις γράψει;;; :o

Οχι μόνο στα παραμύθια αλλά ούτε στην αντιγραφή δεν είσαι καλός. Κάποιο από τα δύο πρέπει οπωσδήποτε να το βελτιώσεις άμεσα.

http://snippets.dzone.com/posts/show/4874
http://compprog.wordpress.com/2007/12/1 ... imination/

Πάρε και βάλε και τα υπόλοιπα κομμάτια που δεν αντέγραψες.

Απάντηση

Επιστροφή στο “C, C++”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες