Τα πάντα για την C

...του ubuntu και έργων ΕΛ/ΛΑΚ (Έργα-Οδηγοί-Προτάσεις)

Συντονιστής: konnn

Re: Τα πάντα για την C/C++

Δημοσίευσηαπό migf1 » 05 Αύγ 2011, 22:13

Αυτός ο κώδικας είναι οκ. Btw, τα warnings δεν είναι απαραίτητα errors, προειδοποιήσεις είναι... σου συνιστούν την προσοχή δηλαδή για κώδικα που μπορεί και να παράξει error.

Στην προκειμένη περίπτωση σου λέει πως το p το έχεις ορίσει δείκτη σε int αλλά τον βάζεις να δείχνει σε πίνακά από char. θα σου δουλέψει κανονικά ο κώδικας, αλλά αν θες να σου φύγει και το warning, ή όρισε τον p να είναι δείκτης σε char, ή όταν τον βάζεις να δείχνει στο array κάνε τον cast σε int *... δηλαδή:
Κώδικας: Επιλογή όλων

for(p = (int *) &array[0]; ...


Το άλλο warning που σου βγάζει είναι για να σου επισημάνει πως έχεις ορίσει το i αλλά δεν το χρησιμοποιείς πουθενά.
Go under the hood with C: Pointers, Strings, Linked Lists
Άβαταρ μέλους
migf1
powerTUX
powerTUX
 
Δημοσιεύσεις: 2082
Εγγραφή: 03 Ιουν 2011, 16:32
Εκτύπωση

Re: Τα πάντα για την C/C++

Δημοσίευσηαπό Star_Light » 05 Αύγ 2011, 22:25

stamatiou έγραψε:
Star_Light έγραψε:εισαγετε το κλειδι κωδικοποιησης?????? ΣΤαματιου ασχολεισαι με την κρυπτογραφηση?

Αν ναι.. υιοθετησε απο νωρις την τακτικη να την λες κρυπτογραφηση πολλοι την λενε κωδικοποιηση και ειναι λαθος πιστευω.

Η διαφορα της κωδικοποιησης πχ ANSI με την κρυπτογραφηση πχ ασσυμετρικη / συμμετρικη ειναι το κλειδι

@migf1 θα αρχισω να ενστερνιζομαι και εγω αυτη την τακτικη με το ------- στις συναρτησεις για να κανω τον κωδικα μου πιο ευανάγνωστο ;)

Όντως, λάθος μου :oops:


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

οσο για την κρυπτογραφηση , ειχα μαθημα στην σχολη και ειχα γραψει 10αρακι καθαρο :D θυμαμαι καποιους αλγοριθμους πχ του Vigenere , τους γραμμικους κρυπταλγοριθμους , τον αλγοριθμο του Καισαρα κτλπ... (φυσικα αυτοι ειναι οι απλοι και δεν εχουν καμια σχεση με τους βαρβατους αλγοριθμους που χρησιμοποιουνται στα διαφορα πρωτοκολλα ασφαλειας οπως το SSL για τα ενσυρματα και τα WPA / WPA2 Για το ασυρματο...)
βεβαια καλο θα ειναι να μην ξεφευγουμε δηλαδη σημερα να κανουμε λιστες και αυριο κρυπταλγοριθμους αλλα αν παρολαυτα θελετε να παιξουμε με κρυπτογραφια τουλαχιστον στο θεωρητικο τμημα μπορω να βοηθησω ακριβως οπως ειμαι χωρις διαβασμα .

Τα θυμαμαι καλα... ειχα γραψει φοβερα τοτε.
Γνώσεις ⇛ 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/C++

Δημοσίευσηαπό migf1 » 06 Αύγ 2011, 00:59

stamatiou έγραψε:Στην άσκηση του Qdata δεν μπορώ να βρω πώς υλοποιείται η άσκηση :crazy: !...

Ας βοηθήσω ;)

Ένας τρόπος είναι να χρησιμοποιήσετε τις έτοιμες συναρτήσεις της C: strchr και strlen ( #include <string.h> )

Άλλος τρόπος είναι χωρίς έτοιμες συναρτήσεις και με χρήση ιστογράμματος. Δηλαδή, θα φτιάξετε αρχικά έναν πίνακα από int για όλο το ASCII table, π.χ.
Κώδικας: Επιλογή όλων
int mapascii[256]
οπότε το κάθε στοιχείο θα αντιστοιχεί σε έναν χαρακτήρα του ASCII table. Αρχικά όλα τα στοιχεία του θα τα βάλετε ίσα με 0 (hint: συνάρτηση: memset)

Κατόπιν για κάθε γράμμα του 1ου string θα προσθέτετε μια μονάδα στη θέση που του αντιστοιχεί μέσα στον πίνακα mapascii, ενώ για κάθε γράμμα του 2ου string θα αφαιρείτε μια μονάδα στην θέση που του αντιστοιχεί μέσα στον πίνακα mapascci. Οπότε όταν τελειώσετε αυτή τη διαδικασία, τα 2 strings ΔΕΝ θα είναι το ένα αναγραμματισμός του άλλου αν έστω κι ένα από τα στοιχεία του mapascii περέχει τιμή διαφορετική από 0 ;)

Άλλος τρόπος είναι να ταξινομήσετε αλφαβητικά και τα 2 stings και κατόπιν να αρχίσετε να ελέγχεται με αντιστοιχία ένα προς ένα τους χαρακτήρες τους. Αν έστω κι ένας δεν είναι ίδιος, τότε 2 strings ΔΕΝ θα είναι το ένα αναγραμματισμός του άλλου
Go under the hood with C: Pointers, Strings, Linked Lists
Άβαταρ μέλους
migf1
powerTUX
powerTUX
 
Δημοσιεύσεις: 2082
Εγγραφή: 03 Ιουν 2011, 16:32
Εκτύπωση

Re: Τα πάντα για την C/C++

Δημοσίευσηαπό stamatiou » 06 Αύγ 2011, 12:38

Ναι αλλά με τον πρώτο τροπο αν έχω ενα string με 2 γράμματα ίδια;
stamatiou
daemonTUX
daemonTUX
 
Δημοσιεύσεις: 947
Εγγραφή: 25 Ιουν 2010, 20:23
Εκτύπωση

Re: Τα πάντα για την C/C++

Δημοσίευσηαπό Qdata » 06 Αύγ 2011, 12:40

@migf1 Και εγώ περίπου αυτή την λογική ακολουθώ αλλά κάπως παραλλαγμένη.Μόλις λύσω το πρόβλημά μου θα ασχοληθώ περισσότερο.
Linux User: #530165
Γνώσεις ⇛ Linux: Μέτριο ┃ Προγραμματισμός: Ναι ┃ Αγγλικά: Καλά
Λειτουργικό ⇛ Ubuntu 11.04 32bit σε Intel(R) Atom(TM) CPU N270 @ 1.60GHz
(Notebook) Προδιαγραφές ⇛ 2x Intel(R) Atom(TM) CPU N270 @ 1.60GHz │ 1016MB │ HDA-Intel - HDA Intel -- USB-Audio - USB AUDIO│ 1024x600 pixels
Νέος στο Linux?Οδηγοί - How to - Tutorials
Qdata
powerTUX
powerTUX
 
Δημοσιεύσεις: 1875
Εγγραφή: 18 Ιουν 2010, 19:40
Τοποθεσία: Σέρρες
IRC: dimos
Εκτύπωση

Re: Τα πάντα για την C/C++

Δημοσίευσηαπό migf1 » 06 Αύγ 2011, 15:36

stamatiou έγραψε:Ναι αλλά με τον πρώτο τροπο αν έχω ενα string με 2 γράμματα ίδια;

Ε, άμα στα πω όλα τι νόημα θα έχει η άσκηση; :lol:

Βγαίνει και με τους 3 τρόπους που σας είπα η άσκηση.

ΥΓ. Καλό κουράγιο φίλε Qdata, κι όλα καλά να πάνε εύχομαι!
Go under the hood with C: Pointers, Strings, Linked Lists
Άβαταρ μέλους
migf1
powerTUX
powerTUX
 
Δημοσιεύσεις: 2082
Εγγραφή: 03 Ιουν 2011, 16:32
Εκτύπωση

Re: Τα πάντα για την C/C++

Δημοσίευσηαπό stamatiou » 06 Αύγ 2011, 16:56

Θα πρέπει να δουλεύει και με αριθμούς και σύμβολα;
stamatiou
daemonTUX
daemonTUX
 
Δημοσιεύσεις: 947
Εγγραφή: 25 Ιουν 2010, 20:23
Εκτύπωση

Re: Τα πάντα για την C/C++

Δημοσίευσηαπό migf1 » 06 Αύγ 2011, 17:48

stamatiou έγραψε:Θα πρέπει να δουλεύει και με αριθμούς και σύμβολα;

Ιδανικά, ναι! :)
Go under the hood with C: Pointers, Strings, Linked Lists
Άβαταρ μέλους
migf1
powerTUX
powerTUX
 
Δημοσιεύσεις: 2082
Εγγραφή: 03 Ιουν 2011, 16:32
Εκτύπωση

Re: Τα πάντα για την C/C++

Δημοσίευσηαπό stamatiou » 06 Αύγ 2011, 20:46

Οκ, να η άσκηση:
Spoiler: show
Κώδικας: Επιλογή όλων
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int super_func(char array[],char array2[]) {
int i = 0,g = 0;
while(array2[i] != '\0') {
g = array2[i] - ' ';
array2[i] = array[g] = array[g] + 1;
++i;
}
return 1;
}

int main(void) {
char array[256],array2[256],array1[256],array12[256];
fgets(array,256,stdin);
fgets(array1,256,stdin);
super_func(array,array2);
super_func(array1,array12);
if((strcmp(array1,array)) == 0) {
printf("They are equal!");
return 0;
}
printf("They are not equal!\n");
return 1;
}
stamatiou
daemonTUX
daemonTUX
 
Δημοσιεύσεις: 947
Εγγραφή: 25 Ιουν 2010, 20:23
Εκτύπωση

Re: Τα πάντα για την C/C++

Δημοσίευσηαπό Star_Light » 06 Αύγ 2011, 21:19

Προσπαθω και εγω να λυσω κατι ασκησουλες εδω να ρωτησω κατι

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

void GetDateTime(void);

int main()
{
GetDateTime();


return 0;
}
---------------------------------------------------------------------------------------------------------------------------------------------------------------
void GetDateTime(void)
{
time_t now;

time(&now);

printf("H trexousa imerominia kai wra einai: %s \n", asctime(localtime(&now)));

return ;
}
--------------------------------------------------------------------------------------------------


μου ζηταει να το τροποποιησω ετσι ωστε να εκτυπωνει την τρεχουσα ωρα και ημερομηνια αλλα οχι με τον %s αλλα με %c καμια υποδειξη????
Γνώσεις ⇛ 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
Εκτύπωση

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

Επιστροφή στο Ανάπτυξη Λογισμικού / Αλγόριθμοι