El post que buscas se encuentra eliminado, pero este también te puede interesar

Algunos codigos en c para linux

HOLA!!!

En esta ocación les dejo unos codigos echos en c para linux, realmente son cosas muy faciles y basicas, pero pueden ser de ayuda en cualquie momento. Estos son codigos de ejercicios que me han puesto en la universidad y mi proyecto para la materia de Informatica.

Son Estructuras basicas y poco eficientes en la utilizacion de recursos.


PALINDROMO


Este codigo pide al usuario una frase y devuelve si es un pailndromo o no. (Un palindromo es una frase o palabra que se lee igual de derecha a izquierda que de izquierda a derecha)


/*7.c assessment as to whether a sentence is palindrome or not
Authors: Jorge Acosta Guerra
Sebastian Ortiz Acevedo
Date: 09/08/2009 */

#include <stdio.h>
#include <ctype.h> //for isalpha function

int main (void)
{
int n=0, nc=0, f=0; //n and nc control variables, f a flap
char pl [255];
char phr [255];
char inv [255];

printf("Enter the sentence to be evalute: " );


while ((pl[n]=getchar())!='\n') //take character by character of the sentence
{
if (isalpha(pl[n])) //take only letters
{
phr[nc]=pl[n];
nc++;
}
n++;
}
phr[nc]='\0'; //put a endly character
pl[n]='\0';
inv[nc]='\0';
nc--;
n=0;

while (nc>=0) //reverse the sentence
{
inv[n]=phr[nc];
nc--;
n++;
}

while (n>=0)//compares the sentence to the right and vice versa
{
if (phr[n]==inv[n])
f=1;//if they are the same the flap is 1
else
{
f=0; //else the flap is 0 and out of the bule
n=0;
}
n--;
}
if (f==1)
printf("La frase es palindromo\n" );
else
printf("La frase no es un palindromo\n" );
return 0;
}



m.c.m y M.C.D


Este porgrama necesita que el usuario ingrese 2 numeros enteros y luego tiene la opcion de elegir si calcular el minimo comun multiplo o el maximo comun divisor.


/*3.c this program calculates the m.c.m and m.c.d of two integers numbers
Authors: Jorge Acosta Guerra
Sebastian Ortiz Acevedo
Date: 09/08/2009 */

#include<stdio.h>

int mcd (int,int);//function mcd declaration
int mcm (int,int);//function mcm declaration
int main (void)

{

int num[2],n=0,res;
char opc=1;
int cmb;

while(opc!= 'd') //beginning of the main while cycle
{
printf("\n" );
printf("\n" );
printf(" MENU PRINCIPAL \n\n" );
printf(" a)Ingresar numero\n" );
printf(" b)Calcular m.c.m\n" );
printf(" c)Calcular m.c.d\n" );
printf(" d)Finalizar\n\n" );
printf(" Ingrese la opcion: " );
scanf("%c", &opc);

switch (opc)//to run the entered option
{
case 'a':
if (n==0||n==1)
{
printf("\nIngrese un numero entero: " );
scanf("%d", &num[n]);
printf("El numero ha sido ingreasdo" );
n++;
}
else //if the user enter twice or more to option a
{
printf("\nEste programa solo opera con\ndos numeros.\n" );
printf("Para sobre-escribir uno de los dos numeros\n" );
printf("Ingrese la ubicacion del numero a cambiar\n" );
printf("o 3 para salir\n" );
printf("1: %d 2: %d ::",num[0],num[1]);
scanf("%d",&cmb);
switch (cmb) //re-write a number in memory
{
case 1:
printf("Ingrese el numero: " );
scanf("%d",&num[0]);
break;

case 2:
printf("Ingrese el numero: " );
scanf("%d",&num[1]);
break;

case 3:
break;

default:
break;
}

}
break;

case 'b':
res=mcm(num[0],num[1]); //call to mcm function
printf("\nEl M.C.M de %d y %d es %d \n", num[0], num[1], res);
break;

case 'c':
res=mcd(num[0],num[1]); //call to mcd function
printf("\nEl M.C.D de %d y %d es %d \n", num[0], num[1], res);
break;

case 'd': //close the program
continue;
break;

default:
printf("\nla opcion no es valida\n" );
break;
}
while ((opc=getchar())!='\n');//to clean the buffer
}

return 0;
}

int mcd (a,b)
{
int res, n = 1;


while(n<=a&&n<=b)//cycle to get the m.c.d
{
while(a%n==0&&b%n==0)
{
res=n;
n++;
}
n++;
}


return res;//return the m.c.d
}

int mcm (a,b)
{
int res;
res = (a*b)/mcd(a,b);//formula to get the m.c.m

return res;//return the m.c.m
}




RANDOM


Este programa da un nejemplo de utilizar la funcion RAND para generar numeros aleatorios y decir cual es el que mas se repite


/* 10.c this program show the number or numbers that is more repeted.
Authors: Jorge Acosta
Sebastian Ortiz
Date: 07/08/2009 */

#include <stdio.h>
#include <stdlib.h> //this library has the function rand.

int main (void)

{
int r[100];
int n; //declaration of control's variable.
int u=0,d=0,t=0,c=0,cn=0,s=0,st=0,o=0,nv=0,dz=0; //declaration of variables to count the repetitios of each number.

srand(time(NULL)); // the seed is planted to generate different random numbers.

for (n=0 ; n < 100 ; n++) //cicle to generate 100 random numbers.
{
r[n]=(1+rand()%10); //generates a random number betwen 1 and 10.
}

for (n=0 ; n<100 ; n++)
{
switch (r[n]) //used switch to count the repetitions of each number.
{
case 1:
u++;
break;

case 2:
d++;
break;

case 3:
t++;
break;

case 4:
c++;
break;

case 5:
cn++;
break;

case 6:
s++;
break;

case 7:
st++;
break;

case 8:
o++;
break;

case 9:
nv++;
break;

case 10:
dz++;
break;
}

}
//compared to get the number or numbers that are most repeated and use only if to get one or more numbers.

if (u>=d&&u>=t&&u>=c&&u>=cn&&u>=s&&u>=st&&u>=o&&u>=nv&&u>=dz)
printf("Uno es el numero que mas se repite (%d veces).\n", u);

if (d>=u&&d>=t&&d>=c&&d>=cn&&d>=s&&d>=st&&d>=o&&d>=nv&&d>=dz)
printf("Dos es el numero que mas se repite (%d veces).\n", d);

if (t>=u&&t>=d&&t>=c&&t>=cn&&t>=s&&t>=st&&t>=o&&t>=nv&&t>=dz)
printf("tres es el numero que mas se repite (%d veces).\n", t);

if (c>=u&&c>=d&&c>=t&&c>=cn&&c>=s&&c>=st&&c>=o&&c>=nv&&c>=dz)
printf("Cuatro es el numero que mas se repite (%d veces).\n", c);

if (cn>=u&&cn>=d&&cn>=t&&cn>=c&&cn>=s&&cn>=st&&cn>=o&&cn>=nv&&cn>=dz)
printf("Cinco es el numero que mas se repite (%d veces).\n", cn);

if (s>=u&&s>=d&&s>=t&&s>=c&&s>=cn&&s>=st&&s>=o&&s>=nv&&s>=dz)
printf("Seis es el numero que mas se repite (%d veces).\n", s);

if (st>=u&&st>=d&&st>=t&&st>=c&&st>=cn&&st>=s&&st>=o&&st>=nv&&st>=dz)
printf("Siete es el numero que mas se repite (%d veces).\n", st);

if (o>=u&&o>=d&&o>=t&&o>=c&&o>=cn&&o>=s&&o>=st&&o>=nv&&o>=dz)
printf("Ocho es el numero que mas se repite (%d veces).\n", o);

if (nv>=u&&nv>=d&&nv>=t&&nv>=c&&nv>=cn&&nv>=s&&nv>=st&&nv>=o&&nv>=dz)
printf("Nueve es el numero que mas se repite (%d veces).\n", nv);

if (dz>=u&&dz>=d&&dz>=t&&dz>=c&&dz>=cn&&dz>=s&&dz>=st&&dz>=o&&dz>=nv)
printf("Diez es el numero que mas se repite (%d veces).\n", dz);

return 0;

}




CONEXION CON SOCKETS


Este es un ejmeplo de un pograma cliente/servidor.

CLIENTE



/*cliente.c This is a client for a conection program in linux
Author:Sebastian Ortiz Acevedo
Date: 22/08/2009*/

#include <sys/types.h>
#include <sys/socket.h>
#include <stdio.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <unistd.h>
#include <string.h>

int main()
{
int sockfd;
int len;
struct sockaddr_in address;
int result;
char ch = 'A';
char c[1024];
int buf;


/*QUIT a word to exit */
while(c[0]!='Q'||c[1]!='U'||c[2]!='I'||c[3]!='T'||c[4]!='\0') {

/* Craete a new socket for the client */

sockfd = socket(AF_INET, SOCK_STREAM, 0);



/* Name the socket, acording to the server */

address.sin_family = AF_INET;
address.sin_addr.s_addr = inet_addr("127.0.0.1";
address.sin_port = 9734;
len = sizeof(address);




result = connect(sockfd, (struct sockaddr *)&address, len);

if(result == -1) {
perror("oops: client1";
exit(1);
}

write(sockfd, &ch, 1);
read(sockfd, &ch, 1);
printf("char from server = %c\n", ch);
printf("Escriba QUIT\n";
scanf("%s",c);
buf=strlen(c);
write(sockfd, c, buf+1);
printf("I said %s\n",c);
close(sockfd);

}

}



SERVIDOR



/*server.c This is a server for a conection program
Author: Sebastian Ortiz Acevedo
Date: 22/08/2009 */


#include <sys/types.h>
#include <sys/socket.h>
#include <stdio.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <unistd.h>

int main()
{
int server_sockfd, client_sockfd;
int server_len, client_len;
struct sockaddr_in server_address;
struct sockaddr_in client_address;
char c[1024];

/* Create a socket for the server */

server_sockfd = socket(AF_INET, SOCK_STREAM, 0);



/* Name the socket */

server_address.sin_family = AF_INET;
server_address.sin_addr.s_addr = inet_addr("127.0.0.1";
server_address.sin_port = 9734;
server_len = sizeof(server_address);
bind(server_sockfd, (struct sockaddr *)&server_address, server_len);
listen(server_sockfd, 5);


while(c[0]!='Q'||c[1]!='U'||c[2]!='I'||c[3]!='T'||c[4]!='\0') {
char ch;
printf("server waiting\n";
client_sockfd = accept(server_sockfd,
(struct sockaddr *)&client_address, &client_len);
read(client_sockfd, &ch, 1);
ch++;
write(client_sockfd, &ch, 1);
read(client_sockfd, c, 1024);
printf("%s\n",c);
close(client_sockfd);
}
close(server_sockfd);
}




VISITA MIS OTROS POST:

COMANDOS DE UBUNTU DE LA A A LA X
PELICULAS DVDRIP ESPAÑOL LATINO PARA RECORDAR
FOTOS ACUARIO SAN MARTIN COLOMBIA
DOCUMENTALES ESPAÑOL LATINO
ANTIVIRUS SOCIAL PARA USB
JARDIN BOTANICO MEDELLIN COLOMBIA
GUIA COMPLETA PARA SERVER Y CLIENTE DE RO
ALGUNOS TRUCOS Y ALGUNOS PROGRAMAS


Algunos codigos en c para linux

6 comentarios - Algunos codigos en c para linux

Chester1994
C funciona en Linux?...

Pensé que VB, C y C++ no funcionaban en Linux ...
Chester1994
sebaslds15 dijo:Claro que funciona bro... c es el lenguaje madre y hasta ahora casi todos los kernel que conosco estan escritos en c, tando los unix como los win32


No sabía ...
siouxx
eso no es ANSI C puro fijate los comentarios!!!!
mavabe
Como pongo el en un editor?
authentic
Chester1994 dijo:C funciona en Linux?...

Pensé que VB, C y C++ no funcionaban en Linux ...


Si funciona, es más lo podes compilar desde la terminal!! con g++!!!!