B
Bore Biko
Dear,
I am an ordinary C programmer and I am most interesed
about dynamical data structuring and programming,
I don't like to use matricess and rows, I like to program
with practical programs that doesent use much memory.
I know a lot of C++ programmers ,and they tolded me,
that C++ templates are real solution for dynamical memory
use programming.I readed 3 books about C++ , but I don't
have a practice and a mass things about templates where
mystery for me I didn't undersrand nothing.
So I will be thankfull if somebody solve with templates
these two programs in end of this post...
1)A program which creates a linked list of prim numbers..
/*--------------------------------*/
#include<stdio.h>
#include<malloc.h>
struct lst{
long int value;
struct lst* next;
};
int main(int argc, char* argv[]){
long int i,j,k;
struct lst *prvi, *tekuci_prvi, *tekuci_drugi, *zadnji;
prvi=(struct lst*)malloc(sizeof(struct lst));
prvi->next=(struct lst*)malloc(sizeof(struct lst));
prvi->value=1;
prvi->next->value=2;
tekuci_prvi=prvi->next;
zadnji=prvi->next;
zadnji->next=(struct lst*)NULL;
k=atoi(argv[1]);
tekuci_drugi=prvi;
for(i=1;i<k;i++){
exit:
tekuci_drugi=prvi;
while(tekuci_drugi->next){
if((i%(tekuci_drugi->value)==0) && tekuci_drugi->value!=1){
if(i==1){
goto exit;
}
i++;
goto exit;
}
tekuci_drugi=tekuci_drugi->next;
}
tekuci_prvi->next=(struct lst*)malloc(sizeof(struct lst));
tekuci_prvi=tekuci_prvi->next;
tekuci_prvi->value=i;
tekuci_prvi->next=(struct lst*)NULL;
/*printf("%ld\n",i);*/
}
tekuci_prvi=prvi;
while(tekuci_prvi->next){
printf("%d\n", tekuci_prvi->value);
tekuci_prvi=tekuci_prvi->next;
}
exit(0);
}
2)A program which creates a file(if you redirect output with ">")
of random numbers use:"rand > file.txt", and "file.txt" is input for third
program...
#include<stdio.h>
#include<stdlib.h>
int main(int argc, char *argv[])
{ int i, j, k;
k=atoi(argv[1]);
srand(k);
for(i=0;i<k;i++){
printf("%d\n",rand());
}
exit(0);
}
3)A program which reads a list of random numbers generated with second
program a "file.txt" and make a sorted list of them...
#include<stdio.h>
#define BUFFER 128
struct lst{
int value;
struct lst *next;
};
int main(int argc , char *argv[]){
int i, j ,k;
FILE *fp;
char buffer[BUFFER];
struct lst *prvi, *tekuci_jedan, *tekuci_dva, *zadnji;
fp=(fopen(argv[1],"r"));
if(fp==(FILE*)NULL){
printf("\nError can't open:%s",argv[1]);
}
prvi=(struct lst*)malloc(sizeof(struct lst));
tekuci_jedan=prvi;
while(fgets(buffer, BUFFER+1, fp)){
tekuci_jedan->next=(struct lst*)malloc(sizeof(struct lst));
tekuci_jedan->value=atoi(buffer);
tekuci_jedan=tekuci_jedan->next;
}
tekuci_jedan->next=(struct lst*)NULL;
tekuci_jedan=prvi;
while(tekuci_jedan->next){
tekuci_dva=prvi;
while(tekuci_dva->next){
if(tekuci_jedan->value < tekuci_dva->value){
/* i=tekuci_jedan->value; */
tekuci_jedan->value=tekuci_jedan->value+tekuci_dva->value;
tekuci_dva->value=tekuci_jedan->value-tekuci_dva->value;
tekuci_jedan->value=tekuci_jedan->value-tekuci_dva->value;
}
tekuci_dva=tekuci_dva->next;
}
tekuci_jedan=tekuci_jedan->next;
}
tekuci_jedan=prvi;
while(tekuci_jedan->next){
printf("\n%d",tekuci_jedan->value);
tekuci_jedan=tekuci_jedan->next;
}
exit(0);
}
All programs are commpilled with gcc without any waring...
Thank in advance, Robert...!!!
P.S. I don't know does a gcc support templates if not you can
send mee a version for VC++ 6.0
I am an ordinary C programmer and I am most interesed
about dynamical data structuring and programming,
I don't like to use matricess and rows, I like to program
with practical programs that doesent use much memory.
I know a lot of C++ programmers ,and they tolded me,
that C++ templates are real solution for dynamical memory
use programming.I readed 3 books about C++ , but I don't
have a practice and a mass things about templates where
mystery for me I didn't undersrand nothing.
So I will be thankfull if somebody solve with templates
these two programs in end of this post...
1)A program which creates a linked list of prim numbers..
/*--------------------------------*/
#include<stdio.h>
#include<malloc.h>
struct lst{
long int value;
struct lst* next;
};
int main(int argc, char* argv[]){
long int i,j,k;
struct lst *prvi, *tekuci_prvi, *tekuci_drugi, *zadnji;
prvi=(struct lst*)malloc(sizeof(struct lst));
prvi->next=(struct lst*)malloc(sizeof(struct lst));
prvi->value=1;
prvi->next->value=2;
tekuci_prvi=prvi->next;
zadnji=prvi->next;
zadnji->next=(struct lst*)NULL;
k=atoi(argv[1]);
tekuci_drugi=prvi;
for(i=1;i<k;i++){
exit:
tekuci_drugi=prvi;
while(tekuci_drugi->next){
if((i%(tekuci_drugi->value)==0) && tekuci_drugi->value!=1){
if(i==1){
goto exit;
}
i++;
goto exit;
}
tekuci_drugi=tekuci_drugi->next;
}
tekuci_prvi->next=(struct lst*)malloc(sizeof(struct lst));
tekuci_prvi=tekuci_prvi->next;
tekuci_prvi->value=i;
tekuci_prvi->next=(struct lst*)NULL;
/*printf("%ld\n",i);*/
}
tekuci_prvi=prvi;
while(tekuci_prvi->next){
printf("%d\n", tekuci_prvi->value);
tekuci_prvi=tekuci_prvi->next;
}
exit(0);
}
2)A program which creates a file(if you redirect output with ">")
of random numbers use:"rand > file.txt", and "file.txt" is input for third
program...
#include<stdio.h>
#include<stdlib.h>
int main(int argc, char *argv[])
{ int i, j, k;
k=atoi(argv[1]);
srand(k);
for(i=0;i<k;i++){
printf("%d\n",rand());
}
exit(0);
}
3)A program which reads a list of random numbers generated with second
program a "file.txt" and make a sorted list of them...
#include<stdio.h>
#define BUFFER 128
struct lst{
int value;
struct lst *next;
};
int main(int argc , char *argv[]){
int i, j ,k;
FILE *fp;
char buffer[BUFFER];
struct lst *prvi, *tekuci_jedan, *tekuci_dva, *zadnji;
fp=(fopen(argv[1],"r"));
if(fp==(FILE*)NULL){
printf("\nError can't open:%s",argv[1]);
}
prvi=(struct lst*)malloc(sizeof(struct lst));
tekuci_jedan=prvi;
while(fgets(buffer, BUFFER+1, fp)){
tekuci_jedan->next=(struct lst*)malloc(sizeof(struct lst));
tekuci_jedan->value=atoi(buffer);
tekuci_jedan=tekuci_jedan->next;
}
tekuci_jedan->next=(struct lst*)NULL;
tekuci_jedan=prvi;
while(tekuci_jedan->next){
tekuci_dva=prvi;
while(tekuci_dva->next){
if(tekuci_jedan->value < tekuci_dva->value){
/* i=tekuci_jedan->value; */
tekuci_jedan->value=tekuci_jedan->value+tekuci_dva->value;
tekuci_dva->value=tekuci_jedan->value-tekuci_dva->value;
tekuci_jedan->value=tekuci_jedan->value-tekuci_dva->value;
}
tekuci_dva=tekuci_dva->next;
}
tekuci_jedan=tekuci_jedan->next;
}
tekuci_jedan=prvi;
while(tekuci_jedan->next){
printf("\n%d",tekuci_jedan->value);
tekuci_jedan=tekuci_jedan->next;
}
exit(0);
}
All programs are commpilled with gcc without any waring...
Thank in advance, Robert...!!!
P.S. I don't know does a gcc support templates if not you can
send mee a version for VC++ 6.0