|
Mostrar Temas
|
Páginas: [1] 2
|
1
|
Programación / Programación C/C++ / tengo una una pequeña duda, sobre vectores
|
en: 18 Enero 2022, 10:22 am
|
En c tengo un vector de N numero y lo que me gustaría saber es de que manera puedo saber cuales numero se repiten, no cuantas veces se repiten un numero. por ejemplo Entrada 25624925 Salida los números que se repiten son 2, el 2 y 5 No pido que me den el código por que se que no es un foro donde te resuelven tares por solo quiero una pequeña orientación de como poder hacerlo. se los agradecería mucho si me ayudan.
|
|
|
2
|
Programación / Programación C/C++ / AYUDA!!!Con programa de FILAS
|
en: 20 Febrero 2019, 07:28 am
|
Hola a todos en mi programa deseo ingresar unos paquetes en 3 filas diferentes las frases que ingresaría serian así : SRP102 deseo guardar eso en un fila pero no se como guardar un frase en un espacio de una fila alguien de favor me podría decir de que manera hacerlo este es el avance que tengo de mi programa #include <stdio.h> #include <stdlib.h> #include <conio.h> struct servidor{ char s1[20]; }; typedef struct Nodo{ char Dato[20]; struct Nodo *sig; }Nodo; Nodo *Crear1(char dato[20]){ Nodo *espacio; espacio =(Nodo *)malloc(sizeof(Nodo )); espacio->Dato[20]=dato[20]; espacio->sig=NULL; return espacio; } Nodo *Alta1 (char dato[20],Nodo *frente){ Nodo *box; Nodo *aux; box=Crear1(dato); if (frente==NULL){ frente=box; }else{ aux=frente; while((aux->sig)!=NULL){ aux=aux->sig; } aux->sig=box; } return frente; } void Mostrar (Nodo *top){ if(top==NULL) { printf ("\nNo hay ningun dato\n"); } else { while (top!=NULL) { printf ("\n| %d |\n ___ ",top ->Dato ); top=top->sig; } } } int main(){ struct Nodo *Fila; Fila=NULL; int op; char s1[20]; do{ printf ("1.-Ingresar paquetes en el servidor 1\n2.-Ingresar paquetes en el servidor 2\n3.-Ingresar paquetes en el servidor 3\n4.-Salir\nSeleccione una opcion: \n"); switch(op){ case 1: printf("Ingrese el numero del paquete: \n"); Fila=Alta1(s1,Fila); Mostrar(Fila); break; case 2: break; } }while(op!=4); }
|
|
|
3
|
Programación / Programación C/C++ / Ayuda con programa en C de Pilas
|
en: 2 Febrero 2019, 07:43 am
|
Hola a todos verán tengo que realizas un programa en c utilizando pilas Al programa le tengo que ingresar una ecuación ejemplo {(3+3)} de esta ecuación solo tengo que guardar el {,( en una pila pero cuando detecte los ),} tengo que eliminar la pila en donde se encuentra su pareja #include <stdio.h> #include <stdlib.h> #include <conio.h> #include <string.h> typedef struct Nodo{ int Dato; struct Nodo *sig; }Nodo; Nodo *Crear(char dato){ Nodo *espacio; espacio =(Nodo *)malloc(sizeof(Nodo )); espacio->Dato=dato; espacio->sig=NULL; return espacio; } Nodo *Alta(char dato,Nodo *cima){ Nodo *box; box=Crear(dato); if(cima==NULL){ cima=box; }else{ box->sig=cima; cima=box; } return cima; } void Mostrar(Nodo *cima){ if(cima==NULL){ printf("\nNo hay ningun dato\n"); }else{ while(cima!=NULL){ printf ("\n| %c |\n ___ ",cima ->Dato ); cima=cima->sig; } } } Nodo *Baja(Nodo *cima){ Nodo *aux; if(cima==NULL){ return 0; }else{ aux=cima; cima=aux->sig; return cima; } } int main(){ int c; struct Nodo *Pila; Pila=NULL; switch (c){ case '(': Pila=Alta(c,Pila); break; case '{': Pila=Alta(c,Pila); break; case '[': Pila=Alta(c,Pila); break; case ')': break; } } Mostrar(Pila); }
tengo este avance de mi código, ya guarda en las pilas los (,{,[ pero no se de que manera decirle que cuando encuentre un ),},] y coincida con el ultimo que se ingreso lo elimine por favor alguien explíqueme de que manera puedo compararlos
|
|
|
4
|
Programación / Programación C/C++ / Duda con programa de Pilas
|
en: 31 Enero 2019, 06:10 am
|
Tengo este avance de mi programa#include<stdio.h> #include<stdlib.h> #include<conio.h> typedef struct _Nodo{ int dato; struct _Nodo *sig; }Nodo; Nodo *reservarmemoria(int dato){ Nodo *espacio; espacio = (Nodo *) malloc(sizeof(Nodo )); if(espacio != NULL){ }else{ espacio -> dato = dato; espacio -> sig = NULL; return espacio; } } Nodo *alta(int dato, Nodo *cima){ Nodo *box; box = reservarmemoria(dato); if (cima != NULL){ box -> sig = cima; } return box; } Nodo *baja (Nodo *cima){ Nodo *aux; if (cima != NULL){ aux = cima; cima = aux -> sig; } return cima; } void mostrar (Nodo *cima){ if (cima == NULL){ }else{ while (cima != NULL){ printf ("Elemento %d\n", cima -> dato ); cima = cima -> sig; } } } void tamano (Nodo *cima){ int i=0; if (cima == NULL){ }else{ while (cima != NULL){ cima = cima -> sig; i++; } printf ("El tamaño es: %d\n", i ); } } int main(){ int op,dato; printf ("1.-Dar de alta un Nodo\n2.-Dar de baja un Nodo\n3.-Mostrar todos los Nodos\n4.-Mostrar el tamaño\n5.-Salir\n"); do{ switch (op){ case 1: printf ("Alta\nIntrodusca el numero a guardar en el nodo\n"); alta(dato,); break; case 2: baja(cima); break; case 3: mostrar(cima); break; } }while(op !=5); return 0; }
Se que tengo que insertar una nueva estructura en el main que va a ser la que mande a cima pero no se de que manera hacerlo me preguntaba si alguien podría asesorarme
|
|
|
5
|
Programación / Programación C/C++ / Duda con programación en C y archivos .txt
|
en: 24 Enero 2019, 07:32 am
|
Hola a todos Tengo una gran duda me pidieron que creara un archivo .txt el cual tendría dos números pero que los tengo que sumar en un programa de c pero no se como puedo solicitar esos dos números para poder sumarlos en mi programa de c. por favor alguien podría explicarme el como solicitar esos dos números para poder sumarlos en c.
|
|
|
6
|
Programación / Programación C/C++ / AYUDA!!! con programa en c
|
en: 1 Marzo 2018, 09:31 am
|
El programa tiene que simular un cruce vehicular de un lado voy a tener una fila de caracteres y del otro una fila de números el usuario tiene que ingresar cuantos nodos va a tener cada una y voy a tener un semáforo que solo de 1 y 0, si me sale 1 voy a dejar pasar el primer nodo que se ingreso a la fila de caracteres y si sale 0 voy a dejar pasar un nodo de la fila de los numeros esos nodos que pasen me van a generar una nueva fila este es mi programa pero ya me atore en la parte del semáforo, por favor alguien que me ayude #include <stdio.h> #include <stdlib.h> #include <conio.h> void insertar_filasFC(); void imprimir_filasFC(); void insertar_filasFN(); void imprimir_filasFN(); void insertar_filasF(); void eliminar_Nodo(); void eliminar_Nodo1(); typedef struct nodo { char FC_filas;//donde se guarda la fila de los caracteres char FN_filas;//donde se guarda la fila de los numeros char F_filas;//donde se guarda la fila resultante struct nodo *sig;//puntero siguiente }nodo; nodo *primero1=NULL,*ultimo1=NULL,*primero2=NULL,*ultimo2=NULL,*primero=NULL,*ultimo=NULL,*inicio2=NULL,*inicio=NULL,*inicio1=NULL; int main() { int FC,FN,i,n,k; char letra='A',j='1'; printf("Ingresar el numero de nodos para la fila de los caracteres\n"); printf("Ingresar el numero de nodos para la fila de los numeros\n"); if(FC<27||FN<10){ printf("Fila de los Caracteres\n"); for(i=1; i<=FC; i++){ //printf("%c ",letra); insertar_filasFC(letra); letra++; } imprimir_filasFC(); printf("\nFila de los Numeros\n"); for(i=1; i<=FN; i++){ insertar_filasFN(j); j++; //printf("%d ",j); } imprimir_filasFN(); insertar_filasFC(*ultimo1); insertar_filasFN(*ultimo1); do{ if (semaforo==1){ insertar_filasFC(*primero); insertar_filasF(primero); eliminar_Nodo(primero); }else{ if (semaforo==0){ insertar_filasFN(*primero1); insertar_filasF(primero1); eliminar_Nodo1(primero1); } } while(ultimo==NULL || ultimo1==NULL){ } }while(ultimo!=NULL && ultimo1!=NULL); }else{ return main(); } //printf("%d",semaforo); return 0; } void insertar_filasF(char *dato){ primero2 =(nodo *)malloc(sizeof(nodo )); primero2-> F_filas=dato; primero2->sig=NULL; if(ultimo2==NULL) ultimo2=inicio2=primero2; else{ ultimo2->sig=primero2; ultimo2=primero2; } } void insertar_filasFC(char *letras){ primero =(nodo *)malloc(sizeof(nodo )); primero-> FC_filas=letras; primero->sig=NULL; if(ultimo==NULL) ultimo=inicio=primero; else{ ultimo->sig=primero; ultimo=primero; } } void imprimir_filasFC(){ primero=inicio; while(primero!=NULL){ printf("%c ",primero ->FC_filas ); primero=primero->sig; } } void insertar_filasFN(char *i){ primero1 =(nodo *)malloc(sizeof(nodo )); primero1->FN_filas=i; primero1->sig=NULL; if(ultimo1==NULL) ultimo1=inicio1=primero1; else{ ultimo1->sig=primero1; ultimo1=primero1; } } void imprimir_filasFN(){ primero1=inicio1; while(primero1!=NULL){ printf("%c ",primero1 ->FN_filas ); primero1=primero1->sig; } } void eliminar_Nodo(char dato){ inicio=primero; if(primero==NULL){ primero=inicio->sig; } return primero; } void eliminar_Nodo1(char dato){ inicio1=primero1; if(primero1==NULL){ primero1=inicio1->sig; } return primero; }
|
|
|
7
|
Programación / Programación C/C++ / Dudas con código de Arduino
|
en: 14 Junio 2017, 10:57 am
|
Hola a todos hice este programa en arduino el cual tiene una conexión a C (C solo manda 3 datos que son la horas, los minutos y los segundos) pero al momento de enviar mis datos de C a arduino este se va directo a las funciones y nunca lee los datos que se le envió de C alguien de favor me podría ayudar#include <SoftwareSerial.h> SoftwareSerial blue(2,3); void setup() { // put your setup code here, to run once: blue.begin(9600); Serial.begin(9600); }
void loop() { int a,b,c; // put your main code here, to run repeatedly: if (blue.available()){ a=blue.read(); b=blue.read(); c=blue.read(); Serial.print(a+':'+b+':'+c+'\n');} delay(1000); if ((a<24) and (b<60) and (c<60)){ america(a,b,c); asia(a,b,c); africa(a,b,c); europa(a,b,c); oceania(a,b,c); c++; } else { Serial.println("Error al ingresar la hora..."); } delay(30000); }
void america (int a, int b, int c){ if (a<23) { Serial.print ("Caracas Venezuela: "); Serial.print(a+1); Serial.print(":"); Serial.print(b); Serial.print(":"); Serial.print(c); } else { Serial.print ("Caracas Venezuela: "); Serial.print("00:"); Serial.print(b); Serial.print(":"); Serial.print(c); } } void asia (int a, int b, int c){ if (a<10) { Serial.print ("Corea del Sur: "); Serial.print(a+14); Serial.print(":"); Serial.print(b); Serial.print(":"); Serial.print(c); } if (a==10) { Serial.print ("Corea del Sur: "); Serial.print("00:"); Serial.print(b); Serial.print(":"); Serial.print(c); } else { Serial.print ("Caracas Venezuela: "); Serial.print(a-10); Serial.print(":"); Serial.print(b); Serial.print(":"); Serial.print(c); } } void africa (int a, int b, int c){ if (a<17) { Serial.print ("Egipto: "); Serial.print(a+14); Serial.print(":"); Serial.print(b); Serial.print(":"); Serial.print(c); } if (a==17) { Serial.print ("Egipto: "); Serial.print("00:"); Serial.print(b); Serial.print(":"); Serial.print(c); } else { Serial.print ("Egipto: "); Serial.print(a-17); Serial.print(":"); Serial.print(b); Serial.print(":"); Serial.print(c); } } void oceania (int a, int b, int c){ if (a<11) { Serial.print ("Sydney: "); Serial.print(a+13); Serial.print(":"); Serial.print(b); Serial.print(":"); Serial.print(c); } if (a==11) { Serial.print ("Sydney: "); Serial.print("00:"); Serial.print(b); Serial.print(":"); Serial.print(c); } else { Serial.print ("Sydney: "); Serial.print(a-11); Serial.print(":"); Serial.print(b); Serial.print(":"); Serial.print(c); } } void europa (int a, int b, int c){ if (a<18) { Serial.print ("Londres: "); Serial.print(a+13); Serial.print(":"); Serial.print(b); Serial.print(":"); Serial.print(c); } if (a==18) { Serial.print ("Londres: "); Serial.print("00:"); Serial.print(b); Serial.print(":"); Serial.print(c); } else { Serial.print ("Londres: "); Serial.print(a-18); Serial.print(":"); Serial.print(b); Serial.print(":"); Serial.print(c); } }
|
|
|
8
|
Programación / Programación C/C++ / Conexión de lenguaje en C a Arduino
|
en: 13 Junio 2017, 06:25 am
|
hola disculpen tengo este codigo :#include <stdio.h> #include <conio.h> #include <stdlib.h> #include <string.h> #include <windows.h> void SerialSendByte(HANDLE hPort, char byte); //envía datos enn el puerto char SerialRecieveByte(HANDLE hPort); //recive datos en el puerto BOOL CloseSerialPort(HANDLE hPort); //cierra puerto HANDLE OpenSerialPort(char *psPort,//es pecifica en que COM se trbajará DWORD dwBaudRate, // tasa de transferencia BYTE dwByteSize, //especifica el tamaño de la cadena BYTE bParity, // para asegurar si la cadena se envió completa o no BYTE bStopBits, // para la cadena de caracteres DWORD Timeout) // espera cierto tiempo para recibir orden y si no recieb nada despliega un mensaje { HANDLE hPort; DCB dcbPort; DWORD dwError; COMMTIMEOUTS commTimeouts; hPort = CreateFile(psPort, //se crea un archivo el cual contiene ciertos parametros para poder funcionar GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, 0, NULL); if(hPort == INVALID_HANDLE_VALUE) //se crea un if para saber si se creó el archivo { dwError = GetLastError(); return(hPort); } FillMemory(&dcbPort/*indica memoria de puerto*/, sizeof(dcbPort)/*indica el tamaño de la memoria designada al puerto*/,0/*indica si esta activo*/); //permite la administracion de la memoria del puerto, para esto es necesario la variable DCBport dcbPort.DCBlength = sizeof(dcbPort); GetCommState (hPort, &dcbPort); //recoge el puerto, el tamaño y el estado dcbPort.BaudRate = dwBaudRate; //atributo del objeto dcb port e indica la tasa de transferencia dcbPort.ByteSize = dwByteSize; dcbPort.Parity = bParity; dcbPort.StopBits = bStopBits; if(!SetCommState(hPort, &dcbPort)) //Verificar el estado del puerto { dwError = GetLastError(); CloseSerialPort(hPort); hPort = INVALID_HANDLE_VALUE; return(hPort); } if(!SetCommTimeouts(hPort, &commTimeouts)) //Verificar el tiempo de espera { dwError = GetLastError(); CloseSerialPort(hPort); hPort = INVALID_HANDLE_VALUE; return(hPort); } return hPort; } char SerialReceiveByte(HANDLE hPort) { DWORD bytesread; DWORD *ptrbytesread = &bytesread; char read; char *ptrread = &read; ReadFile(hPort,ptrread,1,ptrbytesread,NULL); if (read == 'a') { } return (read); } void SerialSendByte(HANDLE hPort, char byte) // permite enviar datos { DWORD byteswritten; DWORD *ptrbyteswritten = &byteswritten; char *ptrwrite = &byte; WriteFile(hPort,&byte,1,ptrbyteswritten,NULL); } BOOL CloseSerialPort(HANDLE hPort) { BOOL bRes; DWORD dwError; bRes = CloseHandle(hPort); if(!bRes) { dwError = GetLastError(); } return bRes; } int main() { HANDLE hPort; char byte; char a='a'; hPort = OpenSerialPort("COM3",CBR_9600,8,NOPARITY,ONESTOPBIT,10000); if(hPort == INVALID_HANDLE_VALUE) { printf("Error al abrir el puerto\n"); return 1; } while(1) { SerialSendByte(hPort, a); byte = SerialReceiveByte(hPort); if (byte == 'a') } CloseSerialPort(hPort); return 0; }
me preguntaba como puedo hacer para que este mande un mensaje a arduino y que arduino me muestre el mensaje en su monitor serie hola a todos hice este código pero deseo que las horas se manden a arduino y aparezcan en una pantalla lcd#include <stdio.h> #include <stdlib.h> #include <conio.h> #include <windows.h> void america(int a,int b, int c) { if (a <23) { printf ("Caracas Venezuela: %d:%d:%d\n",a +1,b ,c ); } else { printf ("Caracas Venezuela: 00:%d:%d",b ,c ); } } void asia (int a,int b,int c)//10:00 - 00:00 { if (a <10) { printf ("Corea del Sur: %d:%d:%d\n",a +14,b ,c ); } else if (a ==10){ printf ("Corea del Sur: 00:%d:%d\n",b ,c ); } else { printf ("Corea del Sur: %d:%d:%d\n",a -10,b ,c ); } } void africa (int a,int b, int c)// 17:00 - 00:00 { if (a <17) { printf ("Egipto: %d:%d:%d\n",a +7,b ,c ); } else if (a ==17){ printf ("Egipto: 00:%d:%d\n",b ,c ); } else { printf ("Egipto: %d:%d:%d\n",a -17,b ,c );} } void oceania (int a, int b, int c)// 11:00 - 00:00 { if (a <11) { printf ("Sydney: %d:%d:%d\n",a +13,b ,c ); } else if (a ==11){ printf ("Sydney: 00:%d:%d\n",b ,c ); } else { printf ("Sydney: %d:%d:%d\n",a -11,b ,c ); } } void europa (int a, int b, int c)//18:00 - 00:00 { if (a <18) { printf ("Londres: %d:%d:%d\n",a +6,b ,c ); } else if (a ==18){ printf ("Londres: 00:%d:%d\n",b ,c ); } else { printf ("Londres: %d:%d:%d\n",a -18,b ,c ); } } void local (int a, int b, int c) { if (c >59) printf ("%d:%d:0",a ,b +1); else if (b >59) printf ("%d:0:%d",a +1,c ); else if (a >23) printf ("0:%d:%d",b +c ); else printf ("%d:%d:%d",a ,b ,c +1); } int main () { int a,b,c; char opc; WORD pausa=1000; printf ("ingrese los datos\n"); printf ("ingrese la hora (24 hrs)\t"); printf ("\ningrese los minutos \t"); printf ("\ningrese los segundos \t"); inicio: local (a,b,c); if (a<24&&b<=59&&c<=59) { printf ("\namerica\t");// (^u^)/ america (a,b,c); asia (a,b,c); printf ("\nafrica\t");// (^u^)/ africa (a,b,c); printf ("\noceania\t");// (^u^)/ oceania (a,b,c); printf ("\neuropa\t");// (^u^)/ europa (a,b,c); c++; if (c==60) {c=0; b++;} if (b==60) {b=0; a++;} if (a==24) a=0; Sleep(pausa); goto inicio; } }
alguien de favor me podría decir el como hacer que aparezcan · No hagas dos temas sobre el mismo asunto >aquí las reglas del foro -Engel Lex
|
|
|
10
|
Programación / Programación C/C++ / ingresar 3 nombres y luego buscar uno entre esos 3 y que me diga la posicion
|
en: 18 Abril 2017, 11:31 am
|
Tengo que ingresar 3 nombres y luego buscar uno entre esos 3 y que me diga en que posicion esta. mi codigo corre el problema es que nunca busca el nombre solo se va directo al if que dice que el nombre no existe, alguien de favor podria ayudarme #include <stdio.h> #include <stdlib.h> #include <string.h> int main () { char array[3][30]; char nombre[30]; char am[30]; char ap[30]; char busq[30]; int t=1; for (int i=0;i<3;i++) { printf ("Ingrese su nombre\n"); printf ("Ingrese su apellido paterno\n"); printf ("Ingrese su apellido materno\n"); } printf ("Nombre a buscar...\n"); for (int i=0;i<3;i++) { {printf ("El nombre esta en la posicion %d\n",i +1); t=0; } } if (t==1) printf("El nombre no existe"); return 0; }
· Títulos deben ser descriptivos >aquí las reglas del foro -Engel Lex
|
|
|
|
|
|
|