Εύρεση φίλων αριθμών, σε γλώσσα C.

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

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

Εύρεση φίλων αριθμών, σε γλώσσα C.

Δημοσίευσηαπό konnn » 20 Ιούλ 2011, 00:30

Φίλοι αριθμοί :
1 εως 100.000:
Οι αριθμοί 220 και 284 είναι φίλοι.
Οι αριθμοί 1184 και 1210 είναι φίλοι.
Οι αριθμοί 2620 και 2924 είναι φίλοι.
Οι αριθμοί 5020 και 5564 είναι φίλοι.
Οι αριθμοί 6232 και 6368 είναι φίλοι.
Οι αριθμοί 10744 και 10856 είναι φίλοι.
Οι αριθμοί 12285 και 14595 είναι φίλοι.
Οι αριθμοί 17296 και 18416 είναι φίλοι.
Οι αριθμοί 63020 και 76084 είναι φίλοι.
Οι αριθμοί 66928 και 66992 είναι φίλοι.
Οι αριθμοί 67095 και 71145 είναι φίλοι.
Οι αριθμοί 69615 και 87633 είναι φίλοι.
Οι αριθμοί 79750 και 88730 είναι φίλοι.
100.001-500.000:
Οι αριθμοί 100485 και 124155 είναι φίλοι.
Οι αριθμοί 122265 και 139815 είναι φίλοι.
Οι αριθμοί 122368 και 123152 είναι φίλοι.
Οι αριθμοί 141664 και 153176 είναι φίλοι.
Οι αριθμοί 142310 και 168730 είναι φίλοι.
Οι αριθμοί 171856 και 176336 είναι φίλοι.
Οι αριθμοί 176272 και 180848 είναι φίλοι.
Οι αριθμοί 185368 και 203432 είναι φίλοι.
Οι αριθμοί 196724 και 202444 είναι φίλοι.
Οι αριθμοί 280540 και 365084 είναι φίλοι.
Οι αριθμοί 308620 και 389924 είναι φίλοι.
Οι αριθμοί 319550 και 430402 είναι φίλοι.
Οι αριθμοί 356408 και 399592 είναι φίλοι.
Οι αριθμοί 437456 και 455344 είναι φίλοι.
Οι αριθμοί 469028 και 486178 είναι φίλοι.


ΤΕΛΕΥΤΑΙΑ ΕΚΔΟΣΗ ΚΩΔΙΚΑ
Κώδικας: Επιλογή όλων


/* This programme counts the numbers that are friends.*/
#include<stdio.h>

int func_sum(int num){
int div=0,sum=0;

for(div=1;div<=num/2;div++){
if((num%div)==0){
sum=sum+div;}
}
return sum;
}

int main(){

int *p;
int i,j,k,size,n=0;
int low=0,high=0,num=0,sum=0,l=0,m=0;
printf ("Give the lower search field number, except number 0 , and press enter :\n");
scanf ("%d",&low);
printf ("Give the upper search field number and press enter :\n");
scanf ("%d",&high);

if (high<low){
printf ("Give the upper search field number be greater than lower and press enter :\n");
scanf ("%d",&high); }

int arr[high-low];

for(num=low;num<high;num++){
sum=func_sum(num);

/*1.-------Place the numbers in an array----------*/
if(func_sum(sum)==num && sum!=num){
arr[n]=num;
arr[n+1]=sum;
n=n+2;}
}

/*a.-------Remove douplicates-----------*/
size=n;
p=arr;
for(i=0;i<size;i++){
for(j=0;j<size;j++){
if(i==j){
continue;
}
else if(*(p+i)==*(p+j)){
k=j;
size--;
while(k < size){
*(p+k)=*(p+k+1);
k++;
}
j=0;
}
}
}
printf("\nThe couples of friend numbers are %d,the: \n",size/2);
for(i=0;i < size;i=i+2){
printf(" %d and %d\n",arr[i],arr[i+1]);
}
return 0;
}

/*---------------------------------Under GPL-------------------------------------------
Created by konnn (Konstantinos Spalas).Email:konnn@live.com*/





Off topic:
Άνοιξα αυτό το θέμα σε ξεχωριστό νήμα ώστε να το δουν και άλλοι που ίσως να μη επισκέπτονται συχνά το νήμα με θέμα τη γλώσσα C.

έγραψε:Η ΦΙΛΙΑ ΣΤΑ ΜΑΘΗΜΑΤΙΚΑ
Οι φίλοι αριθμοί
Το πρόβλημα των τέλειων αριθμών : Ένας αριθμός ονομάζεται τέλειος αν
είναι ίσος με το άθροισμα των γνησίων διαιρετών του. Για παράδειγμα το 6 και το 28:
6=1 +2+3, 28=1+2+4+7+14. Όλοι οι τέλειοι αριθμοί που είναι γνωστοί σήμερα είναι
άρτιοι. Είναι ανοικτό πρόβλημα αν υπάρχουν περιττοί (μονοί) τέλειοι αριθμοί.
Ακόμη, είναι ανοικτό το αν υπάρχουν άπειροι τέλειοι αριθμοί. Με δεδομένο ότι τα
προβλήματα των τέλειων αριθμών αποδίδονται στους Πυθαγορείους, είναι τα
παλαιότερα ανοικτά ακόμα προβλήματα στα μαθηματικά.
Πάλι στους Πυθαγόρειους οφείλονται και οι φίλοι αριθμοί. ∆υο αριθμοί
λέγονται φίλοι αν ο καθένας ισούται με το άθροισμα των γνήσιων διαιρετών του
άλλου. Για παράδειγμα το 220 και το 284.
284=1+2+4+5+10+11+20+22+44+55+110 (όλοι οι διαιρέτες του 220).
220=1+2+4+71+142 (όλοι οι διαιρέτες του 284).
∆εν γνωρίζουμε σήμερα αν τα ζευγάρια των φίλων αριθμών είναι άπειρα ή
πεπερασμένα.
* Ο Pierre Fermat το 1636 βρήκε το ζεύγος 17 296, 18416
* Ο Renè Descartes βρήκε ένα τρίτο ζεύγος, 9 363 584, 9 437 056
* Ο Nicolò Paganini, το 1866 βρήκε το 1 184, 1 210
Υπάρχουν περίπου 12000 ζευγάρια από φίλους αριθμούς.


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


ΑΡΧΙΚΗ ΕΚΔΟΣΗ ΚΩΔΙΚΑ
Κώδικας: Επιλογή όλων
/* Αυτό προγραμματάκι βρίσκει εάν ένας αριθμός έχει φίλο */

#include <stdio.h>

int div_sum(int a){
int k=0;
int z=0;
int b=0;
for(k=1;k<=a/2;k++){
if((a%k)==0){

b=b+k;}

}
printf("Το άθροισμά των διαιρέτων του %d είναι %d \n" ,a,b );


return b;
}

main(){
int i=0;
int j=0;
printf ("Δώσε ένα αριθμό,για να βρούμε αν έχει φίλο, και πατήστε enter :\n");
scanf ("%d",&i);
j=div_sum(i);
if(div_sum(j)==i) printf ("Άρα αριθμοί %d και %d είναι φίλοι.\n ", i,j );
else
printf("Ο αριθμός %d δεν έχει φίλο.\n" , i);

/* GNU v2 */
}
Τελευταία επεξεργασία από konnn και 25 Σεπ 2011, 19:11, έχει επεξεργασθεί 11 φορά/ες συνολικά
1 Linux: Μέτριος ┃ Προγραμματισμός: Μέτριος ┃ Αγγλικά: Προχωρημένος
2 Desktop : Ubuntu 16.04 64bit
a Intel Core i3 CPU 530 2.93GHz ‖ RAM 3824 MiB ‖ Intel DH55HC -
b nVidia Device [10de:1040] (rev a1)
c eth0: Intel 82578DC Gigabit Network Connection
3 Notebook : Ubuntu 16.04 64 bit
a Intel Core i3-2365M CPU @ 1.40GHz ‖ RAM 3854 MiB ‖ LENOVO 20197
b Intel 2nd Generation Core Processor Family Integrated Graphics Controller
c 5 wlan0: Intel Centrino Wireless-N 2230 ⋮ eth0: Realtek RTL8101E/RTL8102E

Αυτόματη υπογραφή.
Άβαταρ μέλους
konnn
Συντονιστής
Συντονιστής
 
Δημοσιεύσεις: 3568
Εγγραφή: 12 Ιούλ 2010, 17:54
Τοποθεσία: Καλαμάτα
Launchpad: konnn
Εκτύπωση

Re: Εύρεση φίλων αριθμών, σε γλώσσα C.

Δημοσίευσηαπό konnn » 21 Ιούλ 2011, 00:15

Ποιό ολοκληρωμένο πρόγραμμα που δέχεται ακόμα βελτιώσεις όπως αφαίρεση διπλών ζευγαριών.
Κώδικας: Επιλογή όλων
/* Αυτό προγραμματάκι βρίσκει εάν ένας αριθμός έχει φίλο */

#include <stdio.h>
#include <stdlib.h>
#include <malloc.h>

int div_sum(int a){
int k=0;
int z=0;
int b=0;
for(k=1;k<=a/2;k++){
if((a%k)==0){

b=b+k;}

}
// printf("Το άθροισμά των διαιρέτων του %d είναι %d \n" ,a,b );


return b;
}

main(){


/*int i=0;
int j=0;
printf ("Δώσε ένα αριθμό,για να βρούμε αν έχει φίλο, και πατήστε enter :\n");
scanf ("%d",&i);
j=div_sum(i);
if(div_sum(j)==i) printf ("Άρα αριθμοί %d και %d είναι φίλοι.\n ", i,j );
else
printf("Ο αριθμός %d δεν έχει φίλο.\n" , i);*/
FILE * pFile;
int i;
int j;
int k;
int l;
int x;
int y;
int z;
int m;
i=j=k=l=x=y=z=m=0;
//int j=0;
printf ("Δώσε το κάτω άκρο του πεδίου αναζήτησης πλην του αριθμού 0 και πατήστε enter :\n");
scanf ("%d",&i);
printf ("Δώσε το άνω άκρο του πεδίου αναζήτησης και πατήστε enter :\n");
scanf ("%d",&j);
if (j<i) {printf ("Δώσε το άνω άκρο του πεδίου αναζήτησης μεγαλύτερο του κάτω και πατήστε enter :\n"); scanf ("%d",&j); }
pFile = fopen ("myfile.txt","w");
for(k=i;k<j;k++){
//for(l=k+1;l<j;l++){
y=div_sum(k);
if(div_sum(y)==k){ printf ("Οι αριθμοί %d και %d είναι φίλοι.\n ", k,y );
fprintf (pFile, "Οι αριθμοί %d και %d είναι φίλοι.\n",k,y);
}
//l++;



/*int a[2][l];
a[x]=y;
a[x+1]=k;
printf("%d %d",y,k);
x++;

}
//a=(int **)malloc(2 * l);


//for(z=0;z<x;z++){

*/

else
printf("Ο αριθμός %d δεν έχει φίλο.\n" , k);
}

fclose (pFile);

/* GNU v2 */
}


1 Linux: Μέτριος ┃ Προγραμματισμός: Μέτριος ┃ Αγγλικά: Προχωρημένος
2 Desktop : Ubuntu 16.04 64bit
a Intel Core i3 CPU 530 2.93GHz ‖ RAM 3824 MiB ‖ Intel DH55HC -
b nVidia Device [10de:1040] (rev a1)
c eth0: Intel 82578DC Gigabit Network Connection
3 Notebook : Ubuntu 16.04 64 bit
a Intel Core i3-2365M CPU @ 1.40GHz ‖ RAM 3854 MiB ‖ LENOVO 20197
b Intel 2nd Generation Core Processor Family Integrated Graphics Controller
c 5 wlan0: Intel Centrino Wireless-N 2230 ⋮ eth0: Realtek RTL8101E/RTL8102E

Αυτόματη υπογραφή.
Άβαταρ μέλους
konnn
Συντονιστής
Συντονιστής
 
Δημοσιεύσεις: 3568
Εγγραφή: 12 Ιούλ 2010, 17:54
Τοποθεσία: Καλαμάτα
Launchpad: konnn
Εκτύπωση

Re: Εύρεση φίλων αριθμών, σε γλώσσα C.

Δημοσίευσηαπό UnKnown96 » 21 Ιούλ 2011, 13:35

Εγώ έχω φτιάξει ένα για τους τέλειους.
Εδώ είναι ο κώδικας:
Κώδικας: Επιλογή όλων

#include <stdio.h>

int main (void)
{
int a, b, c = 0;

printf ("Αριθμός: ");
scanf ("%d", &a);

for (b = 1; b < a; b++) {
if (a % b == 0) c += b; }

if (a == c) printf ("Ο αριθμός %d είναι τέλειος.\n", a);
else printf ("Ο αριθμός %d δεν είναι τέλειος.\n", a);

return 0;
}
Άβαταρ μέλους
UnKnown96
dudeTUX
dudeTUX
 
Δημοσιεύσεις: 370
Εγγραφή: 08 Ιουν 2010, 15:23
Τοποθεσία: Ρόδος
Εκτύπωση

Re: Εύρεση φίλων αριθμών, σε γλώσσα C.

Δημοσίευσηαπό konnn » 21 Ιούλ 2011, 14:49

Ωραίο...αν και οι αριθμοί που έχουν φίλους είναι και τέλειοι..νομίζω.....λάθος το αντίθετο, έχουν φίλο τον εαυτό τους.
1 Linux: Μέτριος ┃ Προγραμματισμός: Μέτριος ┃ Αγγλικά: Προχωρημένος
2 Desktop : Ubuntu 16.04 64bit
a Intel Core i3 CPU 530 2.93GHz ‖ RAM 3824 MiB ‖ Intel DH55HC -
b nVidia Device [10de:1040] (rev a1)
c eth0: Intel 82578DC Gigabit Network Connection
3 Notebook : Ubuntu 16.04 64 bit
a Intel Core i3-2365M CPU @ 1.40GHz ‖ RAM 3854 MiB ‖ LENOVO 20197
b Intel 2nd Generation Core Processor Family Integrated Graphics Controller
c 5 wlan0: Intel Centrino Wireless-N 2230 ⋮ eth0: Realtek RTL8101E/RTL8102E

Αυτόματη υπογραφή.
Άβαταρ μέλους
konnn
Συντονιστής
Συντονιστής
 
Δημοσιεύσεις: 3568
Εγγραφή: 12 Ιούλ 2010, 17:54
Τοποθεσία: Καλαμάτα
Launchpad: konnn
Εκτύπωση

Re: Εύρεση φίλων αριθμών, σε γλώσσα C.

Δημοσίευσηαπό migf1 » 21 Ιούλ 2011, 18:44

konnn έγραψε:Ποιό ολοκληρωμένο πρόγραμμα που δέχεται ακόμα βελτιώσεις όπως αφαίρεση διπλών ζευγαριών.
Spoiler: show
Κώδικας: Επιλογή όλων
/* Αυτό προγραμματάκι βρίσκει εάν ένας αριθμός έχει φίλο */

#include <stdio.h>
#include <stdlib.h>
#include <malloc.h>

int div_sum(int a){
int k=0;
int z=0;
int b=0;
for(k=1;k<=a/2;k++){
if((a%k)==0){

b=b+k;}

}
// printf("Το άθροισμά των διαιρέτων του %d είναι %d \n" ,a,b );


return b;
}

main(){


/*int i=0;
int j=0;
printf ("Δώσε ένα αριθμό,για να βρούμε αν έχει φίλο, και πατήστε enter :\n");
scanf ("%d",&i);
j=div_sum(i);
if(div_sum(j)==i) printf ("Άρα αριθμοί %d και %d είναι φίλοι.\n ", i,j );
else
printf("Ο αριθμός %d δεν έχει φίλο.\n" , i);*/
FILE * pFile;
int i;
int j;
int k;
int l;
int x;
int y;
int z;
int m;
i=j=k=l=x=y=z=m=0;
//int j=0;
printf ("Δώσε το κάτω άκρο του πεδίου αναζήτησης πλην του αριθμού 0 και πατήστε enter :\n");
scanf ("%d",&i);
printf ("Δώσε το άνω άκρο του πεδίου αναζήτησης και πατήστε enter :\n");
scanf ("%d",&j);
if (j<i) {printf ("Δώσε το άνω άκρο του πεδίου αναζήτησης μεγαλύτερο του κάτω και πατήστε enter :\n"); scanf ("%d",&j); }
pFile = fopen ("myfile.txt","w");
for(k=i;k<j;k++){
//for(l=k+1;l<j;l++){
y=div_sum(k);
if(div_sum(y)==k){ printf ("Οι αριθμοί %d και %d είναι φίλοι.\n ", k,y );
fprintf (pFile, "Οι αριθμοί %d και %d είναι φίλοι.\n",k,y);
}
//l++;



/*int a[2][l];
a[x]=y;
a[x+1]=k;
printf("%d %d",y,k);
x++;

}
//a=(int **)malloc(2 * l);


//for(z=0;z<x;z++){

*/

else
printf("Ο αριθμός %d δεν έχει φίλο.\n" , k);
}

fclose (pFile);

/* GNU v2 */
}

Φίλε konn πως βγάζεις άκρη με αυτό τον συμπιεσμένο κώδικα και με αυτές τις ονομασίες μεταβλητών;;;;;;;;;;;;;;

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

Ωστόσο, άλλαξα ονομασίες μεταβλητών, έκανα φορσέ τους αριθμούς σε θετικούς (με το macro ABS(x)) αφαίρεσα το διπλό τύπωμα των ζευγαριών (με χρήση πίνακα χαρτογράφησης) κι αφαίρεσα το τύπωμα ζευγαριών όταν οι 2 αριθμοί είναι ίσοι.

Κώδικας: Επιλογή όλων

/* Αυτό προγραμματάκι βρίσκει εάν ένας αριθμός έχει φίλο */

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#define ABS(x) (x) > 0 ? (x) : -(x)

// -----------------------------------------------------------------------------
// Επιστρέφει το άθροισμα όλων των διαιρετών του num
//
int div_sum( int num )
{
int i=0, sum=0;

for (i=1; i <= num/2; i++)
if ( num % i == 0 ) // το i είναι διαιρέτης του num
sum += i; // πρόσθεσέ το στο sum

return sum;
}

// -----------------------------------------------------------------------------
int main( void )
{
FILE * pFile;
int low=0, high=0, num1=0, num2=0;

puts("ΣΗΜΕΙΩΣΗ:\nτυχόν αρνητικοί αριθμοί μετατρέπονται σε θετικούς!\n");
printf ("Κάτω όριο αναζήτησης (πλην του αριθμού 0): ");
scanf ("%d", &low);
low = ABS(low);

printf ("Άνω όριο αναζήτησης: ");
scanf ("%d", &high);
high = ABS(high);

if ( high < low ) // άνω όριο μικρότερο του κάτω ορίου?
{ // ενάλλαξέ τα
int temp = low;
low = high;
high = temp;
}

/* Χρησιμοποιούμε έναν δυναμικό πίνακα χαρτογράφησης όλων των
* αριθμών μεταξύ low και high, που τον αρχικοποιούμε με την
* τιμή 0 σε όλα του κελιά. Όταν βρούμε έναν αριθμό num1 που έχει
* φιλικό αριθμό num2, χαρτογραφούμε τον num1 στον πίνακα με τιμή 1
* και τυπώνουμε το ζευγάρι στην οθόνη μόνο αν ο num2 δεν είναι
* ήδη χαρτογραφημένος.
*/
int lenmap = high - low; // μήκος του πίνακα χαρτογράφησης
char mapnums[ lenmap ]; // πίνακας χαρτογράφησης αριθμών
memset( mapnums, 0, lenmap * sizeof(char) ); // αρχικοποίηση πίνακα με 0

pFile = fopen ("myfile.txt","w");
if ( !pFile )
puts("\n\t*** σημείωση: το άνοιγμα του αρχείου απέτυχε\n");

putchar('\n');
for ( num1=low; num1 < high; num1++ )
{
num2 = div_sum( num1 );

if ( div_sum( num2 ) != num1 ) // ο num1 δεν έχει φιλικό αριθμό
continue;

// σε αυτό το σημείο οι num1 και num2 είναι φίλοι
// διότι: div_sum( num2 ) == num1

mapnums[num1-low] = 1; // χαρτογράφηση του num1

// τύπωμα του ζευγαριού αριθμών μόνο όταν δεν είναι ίσοι
// μεταξύ τους και μόνο όταν ο num2 είναι αχαρτογράφητος
if ( num1 != num2 && mapnums[num2-low] == 0 )
{
printf("Οι αριθμοί %d και %d είναι φίλοι.\n", num1, num2 );
if ( pFile )
fprintf(pFile, "Οι αριθμοί %d και %d είναι φίλοι.\n", num1, num2);
}
}

if ( pFile)
fclose (pFile);

fflush(stdin); getchar();
exit(EXIT_SUCCESS);
}

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

Re: Εύρεση φίλων αριθμών, σε γλώσσα C.

Δημοσίευσηαπό konnn » 21 Ιούλ 2011, 18:54

migf1 έγραψε:Φίλε konn πως βγάζεις άκρη με αυτό τον συμπιεσμένο κώδικα και με αυτές τις ονομασίες μεταβλητών;;;;;;;;;;;;;;


ΧαΧα.. έχεις δίκιο αλλά ο χρόνος είναι πολύ περιορισμένος για τακτοποίηση
migf1 έγραψε:Δεν έλεγξα τον αλγόριθμο, παρατήρησα όμως πως δεν δουλεύει με αρνητικούς αριθμούς. Επειδή όμως μου βγήκαν λιγάκι τα μάτια για να κάνω ευανάγνωστο τον κώδικα δεν είχα κουράγιο μετά να κοιτάξω και τον αλγόριθμο.

Έχει πολλές ατέλειες για αυτό τον παρέθεσα δημόσια.Ήταν παρόρμηση της στιγμής η δημιουργία του κώδικα χωρίς ιδιαίτερη σκέψη.Βλέπεις δεν είναι και ο τομέας απασχόλησης μου. Ευχαριστώ για την συμβολή σου.
Το επόμενο βήμα είναι να τον αναρτήσω στο git και να μπεις και από ' κει να κάνεις τις αλλαγές που έχεις ήδη κάνει, αν θες.
1 Linux: Μέτριος ┃ Προγραμματισμός: Μέτριος ┃ Αγγλικά: Προχωρημένος
2 Desktop : Ubuntu 16.04 64bit
a Intel Core i3 CPU 530 2.93GHz ‖ RAM 3824 MiB ‖ Intel DH55HC -
b nVidia Device [10de:1040] (rev a1)
c eth0: Intel 82578DC Gigabit Network Connection
3 Notebook : Ubuntu 16.04 64 bit
a Intel Core i3-2365M CPU @ 1.40GHz ‖ RAM 3854 MiB ‖ LENOVO 20197
b Intel 2nd Generation Core Processor Family Integrated Graphics Controller
c 5 wlan0: Intel Centrino Wireless-N 2230 ⋮ eth0: Realtek RTL8101E/RTL8102E

Αυτόματη υπογραφή.
Άβαταρ μέλους
konnn
Συντονιστής
Συντονιστής
 
Δημοσιεύσεις: 3568
Εγγραφή: 12 Ιούλ 2010, 17:54
Τοποθεσία: Καλαμάτα
Launchpad: konnn
Εκτύπωση

Re: Εύρεση φίλων αριθμών, σε γλώσσα C.

Δημοσίευσηαπό migf1 » 21 Ιούλ 2011, 18:59

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

Re: Εύρεση φίλων αριθμών, σε γλώσσα C.

Δημοσίευσηαπό konnn » 21 Ιούλ 2011, 19:06

migf1 έγραψε:Δεν ξέρω git... καρντιά μου (κι ούτε θέλω να μάθω προς το παρόν) :lol:

As you wish...Ευχαριστώ πάντως.
Ωραίος ο κώδικας, τον έτρεξα, το μόνο που του λείπει-που είδα μέχρι στιγμής- είναι ένα περιρισμό εάν ο χρήστης βάλει άνω άκρο μικρότερο του κάτω.Θα το κοιτάξω..
1 Linux: Μέτριος ┃ Προγραμματισμός: Μέτριος ┃ Αγγλικά: Προχωρημένος
2 Desktop : Ubuntu 16.04 64bit
a Intel Core i3 CPU 530 2.93GHz ‖ RAM 3824 MiB ‖ Intel DH55HC -
b nVidia Device [10de:1040] (rev a1)
c eth0: Intel 82578DC Gigabit Network Connection
3 Notebook : Ubuntu 16.04 64 bit
a Intel Core i3-2365M CPU @ 1.40GHz ‖ RAM 3854 MiB ‖ LENOVO 20197
b Intel 2nd Generation Core Processor Family Integrated Graphics Controller
c 5 wlan0: Intel Centrino Wireless-N 2230 ⋮ eth0: Realtek RTL8101E/RTL8102E

Αυτόματη υπογραφή.
Άβαταρ μέλους
konnn
Συντονιστής
Συντονιστής
 
Δημοσιεύσεις: 3568
Εγγραφή: 12 Ιούλ 2010, 17:54
Τοποθεσία: Καλαμάτα
Launchpad: konnn
Εκτύπωση

Re: Εύρεση φίλων αριθμών, σε γλώσσα C.

Δημοσίευσηαπό migf1 » 21 Ιούλ 2011, 19:10

Τίποτα βρε συ!

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

Re: Εύρεση φίλων αριθμών, σε γλώσσα C.

Δημοσίευσηαπό konnn » 21 Ιούλ 2011, 19:12

migf1 έγραψε:Αν το high είναι μικρότερο του low τα εναλλάσσω πριν συνεχίσω.

Σωστά.
1 Linux: Μέτριος ┃ Προγραμματισμός: Μέτριος ┃ Αγγλικά: Προχωρημένος
2 Desktop : Ubuntu 16.04 64bit
a Intel Core i3 CPU 530 2.93GHz ‖ RAM 3824 MiB ‖ Intel DH55HC -
b nVidia Device [10de:1040] (rev a1)
c eth0: Intel 82578DC Gigabit Network Connection
3 Notebook : Ubuntu 16.04 64 bit
a Intel Core i3-2365M CPU @ 1.40GHz ‖ RAM 3854 MiB ‖ LENOVO 20197
b Intel 2nd Generation Core Processor Family Integrated Graphics Controller
c 5 wlan0: Intel Centrino Wireless-N 2230 ⋮ eth0: Realtek RTL8101E/RTL8102E

Αυτόματη υπογραφή.
Άβαταρ μέλους
konnn
Συντονιστής
Συντονιστής
 
Δημοσιεύσεις: 3568
Εγγραφή: 12 Ιούλ 2010, 17:54
Τοποθεσία: Καλαμάτα
Launchpad: konnn
Εκτύπωση

Επόμενο

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