Προγραμματισμός σε C - Λύνουμε ασκήσεις

...ασύγχρονα μαθήματα γλώσσας C

Re: Προγραμματισμός σε C - Λύνουμε ασκήσεις

Δημοσίευσηαπό linuxs » 09 Μάιος 2011, 12:37

Star_Light έγραψε:οκ διορθώθηκε βαζοντας αντι για filename2 απευθειας το ονομα του αρχειου text2

Κώδικας: Επιλογή όλων
((fptr2=fopen("text2","w"))==NULL)


βεβαια την αντιγραφη οπως ειπα και παραπανω την κανει κανονικα απλα οταν το τρεχω απο το τερματικο σαν ./arxeio2

δεν μου εμφανιζει κατι στο κελυφος.


Αν κατάλαβα καλά το ότι σου τα αντιγράφει δεν σημαίνει πως θα εμφανίσζει κάτι( χώσε κανα printf() και θα δείς αποτελέσματα ;) πχ. η αντιγραφή έγινε σωστά κτλ). Απλά θα δημιουργείται ένα αρχείο. Οπότε φαντάζομαι το έλυσες...
Αν το πρόβλημά μας επιλυθεί. Επιλέγουμε το θέμα που βοήθησε στην επίλυση και πατάμε το κουμπάκι Εικόνα.
Γνώσεις ⇛ Linux: Μέτριο┃Προγραμματισμός: C┃Αγγλικά: Καλά
Λειτουργικό ⇛ Linux Ubuntu 10.4 LTS
Προδιαγραφές ⇛ Intel Pentium @T4500 2.3GHz│ 512GB VRAM│ 500 HDD│ ATI RADEON HD545v 512 MB │ Screen: 15.6''
Άβαταρ μέλους
linuxs
daemonTUX
daemonTUX
 
Δημοσιεύσεις: 1060
Εγγραφή: 02 Ιούλ 2010, 13:19
Τοποθεσία: GR
IRC: linuxs
Εκτύπωση

Re: Προγραμματισμός σε C - Λύνουμε ασκήσεις

Δημοσίευσηαπό Λένα » 09 Μάιος 2011, 17:15

Γεια σας παιδια!!

Έχω μια άσκηση στη σχολή και έχω κολλήσει.

Η άσκηση ζητάει να εισάγει ο χρήστης κάποια δεδομένα, στη συνέχεια να γινονται κάποιοι υπολογισμοί με τα δεδομένα αυτά και τέλος να εμφανίζεται ενας πίνακας με τα αποτελέσματα.

Μπορείτε να βοηθήσετε; Ευχαριστώ
Λένα
babeTUX
babeTUX
 
Δημοσιεύσεις: 1
Εγγραφή: 09 Μάιος 2011, 17:04
Εκτύπωση

Re: Προγραμματισμός σε C - Λύνουμε ασκήσεις

Δημοσίευσηαπό giannosfor » 09 Μάιος 2011, 18:33

Star_Light έγραψε:το εμφανίζει στο παράθυρο του geany "Programm exited with code:1"

Δε ξέρω μάλλον έχεις κάνει το λάθος που είπαμε.Το geany μου εμφανίζει 0 τιμή επιστροφής.
Τελευταία επεξεργασία από giannosfor και 09 Μάιος 2011, 18:40, έχει επεξεργασθεί 1 φορά/ες συνολικά
1 Γνώσεις Linux: Καθόλου ┃ Προγραμματισμού: Ικανοποιητικό ┃ Αγγλικών: Ικανοποιητικό
2 Ubuntu 12.04 precise 3.2.0-58-generic 32bit (en_US.UTF-8, Unity ubuntu), Ubuntu 3.2.0-57-generic, Microsoft Windows XP Professional
3 Intel Core2 Duo CPU E4600 2.40GHz ‖ RAM 2012 MiB ‖ ASUS INC. P5Q - � P5Q
4 nVidia G94 [GeForce 9600 GT] [10de:0622] {nvidia}
5 eth0: Qualcomm Atheros AR8121/AR8113/AR8114 Gigabit or Fast Ethernet [1969:1026] (rev b0) ⋮ wlan0: 148f:3070 Ralink Technology, Corp. RT2870/RT3070 Wireless Adapter
Άβαταρ μέλους
giannosfor
punkTUX
punkTUX
 
Δημοσιεύσεις: 297
Εγγραφή: 24 Απρ 2011, 20:24
Τοποθεσία: Ηράκλειο
Εκτύπωση

Re: Προγραμματισμός σε C - Λύνουμε ασκήσεις

Δημοσίευσηαπό giannosfor » 09 Μάιος 2011, 18:39

Λένα έγραψε:Γεια σας παιδια!!

Έχω μια άσκηση στη σχολή και έχω κολλήσει.

Η άσκηση ζητάει να εισάγει ο χρήστης κάποια δεδομένα, στη συνέχεια να γινονται κάποιοι υπολογισμοί με τα δεδομένα αυτά και τέλος να εμφανίζεται ενας πίνακας με τα αποτελέσματα.

Μπορείτε να βοηθήσετε; Ευχαριστώ

Πρέπει να γίνεις πιο συγκεκριμένη!Επίσης πρέπει πρώτα να προσπαθήσεις να τη λύσεις και αν δυσκολευτής κάπου να σε βοηθήσουμε ;)
Τελευταία επεξεργασία από giannosfor και 09 Μάιος 2011, 18:47, έχει επεξεργασθεί 2 φορά/ες συνολικά
1 Γνώσεις Linux: Καθόλου ┃ Προγραμματισμού: Ικανοποιητικό ┃ Αγγλικών: Ικανοποιητικό
2 Ubuntu 12.04 precise 3.2.0-58-generic 32bit (en_US.UTF-8, Unity ubuntu), Ubuntu 3.2.0-57-generic, Microsoft Windows XP Professional
3 Intel Core2 Duo CPU E4600 2.40GHz ‖ RAM 2012 MiB ‖ ASUS INC. P5Q - � P5Q
4 nVidia G94 [GeForce 9600 GT] [10de:0622] {nvidia}
5 eth0: Qualcomm Atheros AR8121/AR8113/AR8114 Gigabit or Fast Ethernet [1969:1026] (rev b0) ⋮ wlan0: 148f:3070 Ralink Technology, Corp. RT2870/RT3070 Wireless Adapter
Άβαταρ μέλους
giannosfor
punkTUX
punkTUX
 
Δημοσιεύσεις: 297
Εγγραφή: 24 Απρ 2011, 20:24
Τοποθεσία: Ηράκλειο
Εκτύπωση

Re: Προγραμματισμός σε C - Λύνουμε ασκήσεις

Δημοσίευσηαπό simosx » 09 Μάιος 2011, 18:41

Λένα έγραψε:Γεια σας παιδια!!

Έχω μια άσκηση στη σχολή και έχω κολλήσει.

Η άσκηση ζητάει να εισάγει ο χρήστης κάποια δεδομένα, στη συνέχεια να γινονται κάποιοι υπολογισμοί με τα δεδομένα αυτά και τέλος να εμφανίζεται ενας πίνακας με τα αποτελέσματα.


Στο φόρουμ αποφεύγουμε να κάνουμε εργασίες μαθητών.
Γενική συζήτηση μπορεί να γίνει για C και προγραμματισμό, ωστόσο όχι επίλυση.

Αν ήταν να προτείνω κάτι για την εκμάθηση προγραμματισμού, θα έλεγα ότι είναι εξαιρετικά σημαντικό σε τέτοιες εργασίας όπου ο μαθητής μαθαίνει προγραμματισμό, να γίνονται με βοηθό το βιβλίο.
Είναι σημαντικό ο νέος προγραμματιστής να αποκτήσει την αυτοπεποίθηση ότι είναι σε θέση να ολοκληρώσει μια εργασία.
Αν όμως είναι «δύσκολη» η εργασία; Υπάρχει πάντα λύση, και με επιμονή μπορεί να γίνει η επίλυση.
προσωπικό ιστολόγιο ϗ πλανήτης Ubuntu-gr
Συμβάλετε και εσείς στο ελληνικό βιβλίο Ubuntu!
1 Γνώσεις Linux: Πολύ καλό ┃ Προγραμματισμού: Πολύ καλό ┃ Αγγλικών: Πολύ καλό
2 Ubuntu 13.10 saucy 3.11.0-031100rc1-generic 64bit (el_GR.UTF-8, Unity ubuntu)
3 AMD E-450 APU with Radeon HD Graphics ‖ RAM 3555 MiB ‖ Sony Corporation VAIO
4 AMD nee ATI Wrestler [Radeon HD 6320] [1002:9806] {fglrx_pci}
5 eth0: Atheros Inc. AR8151 v2.0 Gigabit Ethernet [1969:1083] (rev c0) ⋮ wlan0: Atheros Inc. AR9285 [168c:002b] (rev 01)
Φτιάξτε και εσείς τη δική σας υπογραφή (παραπάνω κείμενο) αυτόματα με κλικ εδώ!
simosx
Επίτιμο μέλος
Επίτιμο μέλος
 
Δημοσιεύσεις: 10334
Εγγραφή: 11 Μάιος 2008, 18:52
Launchpad: simosx
IRC: simosx
Εκτύπωση

Re: Προγραμματισμός σε C - Λύνουμε ασκήσεις

Δημοσίευσηαπό linuxs » 09 Μάιος 2011, 21:51

simosx έγραψε:
Λένα έγραψε:Γεια σας παιδια!!

Έχω μια άσκηση στη σχολή και έχω κολλήσει.

Η άσκηση ζητάει να εισάγει ο χρήστης κάποια δεδομένα, στη συνέχεια να γινονται κάποιοι υπολογισμοί με τα δεδομένα αυτά και τέλος να εμφανίζεται ενας πίνακας με τα αποτελέσματα.


Στο φόρουμ αποφεύγουμε να κάνουμε εργασίες μαθητών.
Γενική συζήτηση μπορεί να γίνει για C και προγραμματισμό, ωστόσο όχι επίλυση.

Αν ήταν να προτείνω κάτι για την εκμάθηση προγραμματισμού, θα έλεγα ότι είναι εξαιρετικά σημαντικό σε τέτοιες εργασίας όπου ο μαθητής μαθαίνει προγραμματισμό, να γίνονται με βοηθό το βιβλίο.
Είναι σημαντικό ο νέος προγραμματιστής να αποκτήσει την αυτοπεποίθηση ότι είναι σε θέση να ολοκληρώσει μια εργασία.
Αν όμως είναι «δύσκολη» η εργασία; Υπάρχει πάντα λύση, και με επιμονή μπορεί να γίνει η επίλυση.


Δεν ξέρω τι νομίζετε εσείς εγώ αν δώ πως κάποιος έχει αρχίσει να κάνει δουλειά και έχει κολήσει κάπου είμαι πρόθυμος να βοηθήσω. ΟΧΙ ΝΑ ΛΥΣΩ ΤΗΝ ΑΣΚΗΣΗ. Επίσης αν δεν μπορεί να ξεκινήσει μπορώ να δώσω τον αλγόριθμο σε ψευδοκώδικα...
Αν το πρόβλημά μας επιλυθεί. Επιλέγουμε το θέμα που βοήθησε στην επίλυση και πατάμε το κουμπάκι Εικόνα.
Γνώσεις ⇛ Linux: Μέτριο┃Προγραμματισμός: C┃Αγγλικά: Καλά
Λειτουργικό ⇛ Linux Ubuntu 10.4 LTS
Προδιαγραφές ⇛ Intel Pentium @T4500 2.3GHz│ 512GB VRAM│ 500 HDD│ ATI RADEON HD545v 512 MB │ Screen: 15.6''
Άβαταρ μέλους
linuxs
daemonTUX
daemonTUX
 
Δημοσιεύσεις: 1060
Εγγραφή: 02 Ιούλ 2010, 13:19
Τοποθεσία: GR
IRC: linuxs
Εκτύπωση

Re: Προγραμματισμός σε C - Λύνουμε ασκήσεις

Δημοσίευσηαπό Star_Light » 09 Μάιος 2011, 23:41

linuxs & giannosfor ty for tips θα τα ξανακοιταξω αν ειναι ... και θα σας πω.

Βασικα εχω κατεβασει εναν αλγοριθμο crc απο το ιντερνετ και παλευω να φτιαξω τα headers του.

Μονο τον αρχικο πηγαιο κωδικα εχω κατεβασει ...

Τελοςπαντων κατι αλλο κουλο τωρα.... στον παρακατω κωδικα ας πουμε

Κώδικας: Επιλογή όλων
#include<stdio.h>
/*Giati enw edw dn dilwnw tis 2 sunarthseis dn m petaei error? */
int main()
{
int r;
int n;
int a;
char flag;



printf("Dwste enan akeraio arithmo: ");
scanf("%d",&a);
printf("Dwste ton akeraio ektheti: ");
scanf("%d",&n);
printf("Dwste A gia ton upologismo tou paragontikou H B gia tin dunami : \n");
scanf("%c",&flag);
flag=getchar();


switch(flag)
{
case 'A':
r=paragontiko(n);
printf("To apotelesma einai: %d \n",r);
break;

case 'B':
r= dunami(a,n);
printf("To apotelesma einai: %d\n",r);
break;
default:
printf("Den dwsate ta swsta stoixeia. Ksanadokimaste: \n");
break;

}

return 0;
}
int paragontiko(int n)
{
if (n==0)
return 1;
else
return n * paragontiko((n-1));
}
int dunami(int a , int n)
{
if(n==0)
return 1;
else
return a * dunami(a , n-1);
}


εχω την απορια που εχω βαλει σε σχολια πανω πανω :D

Π.Σ Αν καποιος θελει να μαθει καλα , ας ξεκινησει προγραμματισμο με λειτουργικες μοναδες - αρχεια. Σαν αυτο που παω να κανω με τον αλγοριθμο crc τον εχω ανοιξει και σε αλλο θρεντ τον κωδικα... αν τον θελει κανεις να του δωσω λινκ να παει να τον δει.
Γνώσεις ⇛ Linux: Βασικές ┃ Προγραμματισμός: Δέν θέλω μεροκάματο , θέλω C και κακο θάνατο! ┃ Αγγλικά: Lower
Λειτουργικό ⇛ Ubuntu 10.10 σε Dual Boot με Windows 7
Προδιαγραφές ⇛ Επεξεργαστής : Intel(R) Core(TM) i3 CPU 540 @3.07Ghz (64bit)
RAM : Kingston 2GB
HDD : Coreshare 500GB
Κάρτα Γραφικών : Intel Corporation Core Processor Integrated Graphics Controller(rev 18) (prog-if 00 [VGA controller]) [8086:0042]
Star_Light
superbTUX
superbTUX
 
Δημοσιεύσεις: 2787
Εγγραφή: 01 Μάιος 2010, 21:07
Τοποθεσία: Αθήνα
IRC: Star_Light
Εκτύπωση

Re: Προγραμματισμός σε C - Λύνουμε ασκήσεις

Δημοσίευσηαπό giannosfor » 10 Μάιος 2011, 00:24

Για δώσε το link
1 Γνώσεις Linux: Καθόλου ┃ Προγραμματισμού: Ικανοποιητικό ┃ Αγγλικών: Ικανοποιητικό
2 Ubuntu 12.04 precise 3.2.0-58-generic 32bit (en_US.UTF-8, Unity ubuntu), Ubuntu 3.2.0-57-generic, Microsoft Windows XP Professional
3 Intel Core2 Duo CPU E4600 2.40GHz ‖ RAM 2012 MiB ‖ ASUS INC. P5Q - � P5Q
4 nVidia G94 [GeForce 9600 GT] [10de:0622] {nvidia}
5 eth0: Qualcomm Atheros AR8121/AR8113/AR8114 Gigabit or Fast Ethernet [1969:1026] (rev b0) ⋮ wlan0: 148f:3070 Ralink Technology, Corp. RT2870/RT3070 Wireless Adapter
Άβαταρ μέλους
giannosfor
punkTUX
punkTUX
 
Δημοσιεύσεις: 297
Εγγραφή: 24 Απρ 2011, 20:24
Τοποθεσία: Ηράκλειο
Εκτύπωση

Re: Προγραμματισμός σε C - Λύνουμε ασκήσεις

Δημοσίευσηαπό Star_Light » 10 Μάιος 2011, 00:59

Κώδικας: Επιλογή όλων
#include <string.h>
#include "led.h"

/*
* The CRC parameters. Currently configured for CCITT.
* Simply modify these to switch to another CRC standard.
*/
#define POLYNOMIAL 0x1021
#define INITIAL_REMAINDER 0xFFFF
#define FINAL_XOR_VALUE 0x0000

/*
* The width of the CRC calculation and result.
* Modify the typedef for an 8 or 32-bit CRC standard.
*/
typedef unsigned short width;

#define WIDTH (8 * sizeof(width))
#define TOPBIT (1 << (WIDTH - 1))

/*
* An array containing the pre-computed intermediate result for each
* possible byte of input. This is used to speed up the computation.
*/
width crcTable[256];

/**********************************************************************
*
* Function: crcInit()
*
* Description: Initialize the CRC lookup table. This table is used
* by crcCompute() to make CRC computation faster.
*
* Notes: The mod-2 binary long division is implemented here.
*
* Returns: None defined.
*
**********************************************************************/
void
crcInit(void)
{
width remainder;
width dividend;
int bit;

/*
* Perform binary long division, a bit at a time.
*/
for (dividend = 0; dividend < 256; dividend++)
{
/*
* Initialize the remainder.
*/
remainder = dividend << (WIDTH - 8);

/*
* Shift and XOR with the polynomial.
*/
for (bit = 0; bit < 8; bit++)
{
/*
* Try to divide the current data bit.
*/
if (remainder & TOPBIT)
{
remainder = (remainder << 1) ^ POLYNOMIAL;
}
else
{
remainder = remainder << 1;
}
}

/*
* Save the result in the table.
*/
crcTable[dividend] = remainder;
}

} /* crcInit() */


/**********************************************************************
*
* Function: crcCompute()
*
* Description: Compute the CRC checksum of a binary message block.
*
* Notes: This function expects that crcInit() has been called
* first to initialize the CRC lookup table.
*
* Returns: The CRC of the data.
*
**********************************************************************/
width
crcCompute(unsigned char * message, unsigned int nBytes)
{
unsigned int offset;
unsigned char byte;
width remainder = INITIAL_REMAINDER;

/*
* Divide the message by the polynomial, a byte at time.
*/
for (offset = 0; offset < nBytes; offset++)
{
byte = (remainder >> (WIDTH - 8)) ^ message[offset];
remainder = crcTable[byte] ^ (remainder << 8);
}

/*
* The final remainder is the CRC result.
*/
return (remainder ^ FINAL_XOR_VALUE);

} /* crcCompute() */


/**********************************************************************
*
* Function: main()
*
* Description: Test the CRC functions by computing the CRC-CCITT of
* the check string "123456789". The expected result
* was provided by an independent third-party.
*
* Notes:
*
* Returns: 0 on success.
* Otherwise -1 indicates failure.
*
**********************************************************************/
int main()
{
#define CCITT_CHECK 0x29B1

char * s = "123456789";

/*
* Initialize the CRC lookup table.
*/
crcInit();

/*
* Compute the CRC of the check string.
*/
if (crcCompute(s, strlen(s)) != CCITT_CHECK)
{

return (-1);
}
else
{

return (0);
}

} /* main() */


Εχω κανει καποιες αλλαγες μεσα 2-3 πολυ μικρες... και απλα προσπαθω να φτιαξω το αρχειο led.h
αμα ξερεις να χειριζεσαι τετοιο κωδικα εισαι ετοιμος προγραμματιστης της C πλεον... ο CRC ΠΑιζει στο DLL
και ειναι ενα checksum - αθροισμα ελεγχου των frames. Πρεπει να διαβασεις και θεωρια βεβαια του αλγοριθμου για να καταλαβεις πως δουλευει ο κωδικας..... αυτα ειναι τα πρωτοτυπα σχολια του , εχω κανει και δικα μου ομως. Αν καποιος δυσκολευτει μπορει να με ρωτησει.

Π.Σ Το λινκ ειναι το netrino.com αν θυμαμαι καλα....
Γνώσεις ⇛ Linux: Βασικές ┃ Προγραμματισμός: Δέν θέλω μεροκάματο , θέλω C και κακο θάνατο! ┃ Αγγλικά: Lower
Λειτουργικό ⇛ Ubuntu 10.10 σε Dual Boot με Windows 7
Προδιαγραφές ⇛ Επεξεργαστής : Intel(R) Core(TM) i3 CPU 540 @3.07Ghz (64bit)
RAM : Kingston 2GB
HDD : Coreshare 500GB
Κάρτα Γραφικών : Intel Corporation Core Processor Integrated Graphics Controller(rev 18) (prog-if 00 [VGA controller]) [8086:0042]
Star_Light
superbTUX
superbTUX
 
Δημοσιεύσεις: 2787
Εγγραφή: 01 Μάιος 2010, 21:07
Τοποθεσία: Αθήνα
IRC: Star_Light
Εκτύπωση

Re: Προγραμματισμός σε C - Λύνουμε ασκήσεις

Δημοσίευσηαπό Star_Light » 10 Μάιος 2011, 01:01

ειναι μαγεια παντως να βλεπεις τετοιο κωδικα.... κοιταξτε ποσο συμπυκνωμενος ειναι και τι δουλεια μπορει να κανει!!!!!!!
Γνώσεις ⇛ Linux: Βασικές ┃ Προγραμματισμός: Δέν θέλω μεροκάματο , θέλω C και κακο θάνατο! ┃ Αγγλικά: Lower
Λειτουργικό ⇛ Ubuntu 10.10 σε Dual Boot με Windows 7
Προδιαγραφές ⇛ Επεξεργαστής : Intel(R) Core(TM) i3 CPU 540 @3.07Ghz (64bit)
RAM : Kingston 2GB
HDD : Coreshare 500GB
Κάρτα Γραφικών : Intel Corporation Core Processor Integrated Graphics Controller(rev 18) (prog-if 00 [VGA controller]) [8086:0042]
Star_Light
superbTUX
superbTUX
 
Δημοσιεύσεις: 2787
Εγγραφή: 01 Μάιος 2010, 21:07
Τοποθεσία: Αθήνα
IRC: Star_Light
Εκτύπωση

ΠροηγούμενηΕπόμενο

Επιστροφή στο Μαθήματα C