|
Mostrar Mensajes
|
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++ / Re: Ayuda con programa en C de Pilas
|
en: 3 Febrero 2019, 09:08 am
|
Ya logre avanzar mas con mi programa, pero ahora mi duda es como puedo hacer la comparación de que cuando al inicio de la cadena se ingrese un ),],} marque un error Aquí esta mi código Alguien de favor me podría decir una manera con la cual pueda hacer la comparación o explicarme una forma de hacerla#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 ')': if ((Pila->Dato)=='('){ Pila=Baja(Pila); }else{ printf("La ecuacion no esta balanceada"); return 0; } break; case ']': if ((Pila->Dato)=='['){ Pila=Baja(Pila); }else{ printf("La ecuacion no esta balanceada"); return 0; } break; case '}': if ((Pila->Dato)=='{'){ Pila=Baja(Pila); }else{ printf("La ecuacion no esta balanceada"); return 0; } break; } } printf("La ecuacion esta balanceada"); Mostrar(Pila); }
|
|
|
4
|
Programación / Programación C/C++ / Re: Duda con programa de Pilas
|
en: 3 Febrero 2019, 08:25 am
|
Ya logre resolver mi duda con el programa si a alguien le sirve el codigo, aqui lo dejo#include <stdio.h> #include <stdlib.h> #include <conio.h> typedef struct Nodo { int Dato; struct Nodo *sig; }Nodo; Nodo *Crear (int); Nodo *Alta (int, Nodo *top); Nodo *Baja (Nodo *top); void Mostrar(Nodo *top); void Contar (Nodo *top); int main(){ struct Nodo *Pila; Pila=NULL; int Op=1,dato,o,size; do { printf ("¿Que desea hacer?\n1:Añadir valor\n2:Mostrar valores\n3:Eliminar nodo\n4:Contar nodos\n5:Salir\n"); switch (Op){ case 1: printf ("\n\tIngrese el valor:"); Pila=Alta(dato,Pila); break; case 2: Mostrar(Pila); break; case 3: Pila=Baja(Pila); break; case 4: Contar(Pila); break; case 5: break; default : printf( "\nOpcion incorrecta.\n" ); } }while (Op!=5); } Nodo *Crear (int dato){ Nodo *espacio; espacio =(Nodo *)malloc(sizeof(Nodo )); espacio->Dato=dato; espacio->sig=NULL; return espacio; } Nodo *Alta (int dato,Nodo *top) { Nodo *box; box=Crear(dato); if (top==NULL){ top=box; } else { box->sig=top; top=box; } return top; } Nodo *Baja (Nodo* top){ Nodo *aux; if (top==NULL) { return 0; } else { aux=top; top=aux->sig; return top; } } 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; } } } void Contar (Nodo *top){ int Cont=0; if(top==NULL) { } else { while (top!=NULL) { Cont=Cont+1; top=top->sig; } printf("El tamaño es: %d\n",Cont ); } }
|
|
|
6
|
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
|
|
|
7
|
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
|
|
|
8
|
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.
|
|
|
9
|
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; }
|
|
|
10
|
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); } }
|
|
|
|
|
|
|