Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <limits.h>
- int* primes(int n);
- int main( void )
- {
- FILE *stream;
- char buffer[LINE_MAX];
- int run;
- if( (stream = fopen( "channel","r+" ) ) )
- {
- run=1;
- printf("%s\n", ":: Serwer uruchomiony.");
- printf("%s\n", ":: Czekam na kontakt z klientem.");
- }
- else
- {
- run=0;
- perror( "!.!..błąd otwarcia łącza..!.!" );
- }
- while( run )
- {
- int N;
- if( fgets( buffer,256,stream ) )
- {
- fflush(stream);
- sscanf(buffer,"%d\n",&N);
- //int N = (int)buffer[0];
- printf("%s %d %s\n", ":: SERWER Podaje",N,"liczb pierwszych:");
- //fprintf( stream,"%s",buffer );
- int* pierwsze = primes(N);
- for (int i = 0; i < N; ++i)
- {
- fprintf(stream,"%d\n", pierwsze[i]);
- }
- //fflush( stream );
- break;
- }
- }
- printf("%s\n", ":KONIEC:");
- return 0;
- }
- int* primes(int n)
- {
- // printf("%s%d\n", "Zaczynam dzialanie funkcji primes dla n=",n);
- int* array;
- array = (int*) malloc(n*sizeof(int));
- int primesCount = 0;
- int currentNumber = 2;
- while(primesCount < n)
- {
- // printf("%s%d\n%s%d\n","primesCount=",primesCount,"currentNumber=",currentNumber );
- bool isPrime = true;
- for (int i = 2; i < currentNumber; i++)
- {
- if ((currentNumber % i) == 0)
- {
- isPrime = false;
- break;
- }
- }
- if (isPrime)
- {
- // printf("%s %d\n","Znaleziono liczbe pierwsza:",currentNumber );
- array[primesCount++] = currentNumber++;
- }
- else
- {
- currentNumber++;
- }
- // printf("%s\n", "Nacisnij enter...");
- // int s;
- // scanf("%d",&s);
- }
- return array;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement