//PROGRAMA PRINCIPAL void main() { //clrscr(); nodo *prin; //puntero al principio de la lista int op; //clrscr(); do { op=menu(); switch (op) { case 1: prin=(nodo *)malloc(sizeof(nodo)); crear(prin); printf("\n"); mostrar (prin); continue; case 2: prin=insertar(prin); printf("\n"); mostrar(prin); continue; case 3: prin=eliminar (prin); printf("\n"); mostrar(prin); continue; case 4: printf("\nfin de proceso"); } }while (op !=4); }
void menu(){ int seleccion; clrscr(); printf("1.- Crear vector numerico de 10 elementos: "); printf("\n2.- Ordenar vector: "); printf("\n3.- Insertar un elemento: "); printf("\n4.- Borrar un elemento: "); printf("\n5.- Buscar un elemento: "); printf("\n6.- Visualizar lista: \n"); scanf("%d",&seleccion); switch (seleccion){ case 1: crear(); break; case 2: ordenar(); break; case 3: insertar(); break; case 4: borrar(); break; case 5: buscar(); break; case 6: visualizar(); break; } }
void main() { nodo_llde *p,**ptr,**avail; float Inf,inf; int choice; while((choice = menu_opcion()) != 5){ switch(choice){ case 1: ptr = NULL; avail = NULL; gotoxy(20,15); printf("lista inicializada"); getch(); break; case 2: clrscr(); printf(" informacion a insertar :" ); scanf("%f",&inf); crear(ptr,&(*avail),inf); break; case 3: clrscr(); printf(" informacion a insertar" ); scanf("%f",&Inf); buscar_nodo(ptr,&p,Inf); // printf(" inserte antes de : " ); // scanf("%f",&inf); insert(ptr,&(*avail),inf); break; } } }
struct Caja* insertar(struct Caja *anterior, int valor) { struct Caja* nueva = crear(valor); anterior->siguiente = nueva; return nueva; }
Frecuencias& Frecuencias::operator=(const Frecuencias& otro){ if(this!=&otro){ destruir(); crear(otro.npares); for(int i=0;i<npares;i++){ parejas[i]=otro.parejas[i]; } } return *this; }
int main() { nodo *prin; //apunta al principio de la lista prin=(nodo *)malloc(sizeof(nodo)); crear(prin); mostrar(prin); printf("\n"); prin=insertar(prin); mostrar(prin); return EXIT_SUCCESS; }
int main() { nodo *prin; prin=malloc(sizeof(nodo)); crear((nodo*)prin); mostrar(prin); prin=eliminar((nodo*)prin); mostrar(prin); return EXIT_SUCCESS; }
arbol_t * insertar(arbol_t *arbol, int dato) { if(NULL == arbol) return crear(dato); if(dato < arbol->dato) arbol->izq = insertar(arbol->izq, dato); else arbol->der = insertar(arbol->der, dato); return arbol; }
//programa principal int main(){ nodo *prin; prin=(nodo *)malloc(sizeof(nodo)); crear(prin); printf("\n"); mostrar(prin); return EXIT_SUCCESS; }
int main(int argc, char** argv){ Pila p1, p2; int i; p1=crear();//creamos las pilas p2=crear(); if(esta_vacia(p1) == true)//comprobamos que estabn vacias printf("La pila p1 esta vacia\n"); if(esta_vacia(p2) == true) printf("La pila p2 esta vacia\n"); for(i=0;i<20;i++){ //metemos numeros en la pila if(i%2==0) apilar(p1,i); else apilar(p2,i); } printf("Los elementos de la pila p1 son: \n\t"); while(!esta_vacia(p1)) //mientras no este vacia printf("%d ", desapilar(p1));//vamos sacando los numeros y mostandolos puts(""); vaciar(p1);//la vaciamos printf("Los elementos de la pila p2 son: \n \t"); while(!esta_vacia(p2)) printf("%d ",desapilar(p2)); destruir(p1);//eliminamos la pila destruir(p2); getche(); return (EXIT_SUCCESS); }
int main() { nodo *prin; int op; prin=(nodo *)malloc(sizeof(nodo)); crear(prin); mostrar (prin); prin=insertar(prin); mostrar(prin); prin=eliminar (prin); mostrar(prin); return 0; }
//CREAR void crear (nodo *registro) //El argumento apunta al nodo actual { printf ("Dato (escribir ""FIN"" para terminar): "); scanf (" %[^\n]",registro->elem); if (strcmp (registro->elem,"FIN")==0) //si cambia se convierte en 1 registro->sig=NULL; else { registro->sig=(nodo*)malloc(sizeof(nodo)); crear (registro->sig); } return; }
void crear(nodo *lista) { printf("\nIngrese un numero: - 1000 para terminar: "); scanf("%d", &lista->num); if (lista->num == 1000) { lista->sig = NULL; } else { lista->sig = (nodo*)malloc(sizeof(nodo)); crear(lista->sig); } }
int main() { nodo *punt; punt=malloc(sizeof(nodo)); crear((nodo*)punt); mostrar(punt); printf("\n"); //insertartercero(punt); //punt = eliminarprimero(punt); eliminarsegundo(punt); mostrar(punt); return EXIT_SUCCESS; }
int main() { nodo *prin; prin = (nodo*)malloc(sizeof(nodo)); crear(prin); mostrar(prin); int m; printf("Ingrese elemento M: "); scanf("%d", &m); eliminar(prin, m); mostrar(prin); prin = eliminarMenores(prin, m); mostrar(prin); return 0; }
void crear (nodo *registro) //El argumento apunta al nodo actual { printf ("\nIngresar num1: "); scanf (" %d", ®istro->num1); printf ("Ingresar num2: "); scanf (" %d", ®istro->num2); if ((registro->num1==0)&&(registro->num2==0)) //veo que sean iguales registro->sig=NULL; else { registro->sig=(nodo*)malloc(sizeof(nodo)); crear (registro->sig); } return; }
void crear (nodo *registro) { // Ingresar el dato if (strcmp (registro->elem,"FIN")==0) //si cambia se convierte en 1 registro->sig=NULL; else { registro->sig=(nodo*)malloc(sizeof(nodo)); crear (registro->sig); } return; }
//Funcion crear lista void crear(nodo *registro) { // Ingreso datos printf("Ingresar numero: "); scanf("%d", ®istro->num); if (registro->num == 1000) registro->sig=NULL; else { //creo nuevo nodo registro->sig=malloc(sizeof(nodo)); crear ((nodo*)registro->sig); } return; }
//funcion crear void crear(nodo *registro){ printf("\nIngrese nombre (Escriba ""FIN"" para terminar): "); scanf("%s", registro->nom); if(strcmp(registro->nom,"FIN")==0) registro->sig=NULL; else{ printf("\nIngrese Edad: "); scanf(" %d", ®istro->edad); printf("\nIngrese Sueldo: "); scanf(" %f", ®istro->sueldo); registro->sig = (nodo*)malloc(sizeof(nodo)); crear(registro->sig); } return; }
void crear(nodo *lista) { printf("\nIngrese un DNI - 0 para finalizar: "); scanf("%ld", &lista->dni); if(lista->dni == 0) lista->sig = NULL; else { printf("\nIngrese nombre: "); scanf(" %[^\n]", lista->nombre); printf("\nIngrese tipo de cuenta: "); scanf(" %c", &lista->tipo); printf("\nIngrese saldo: "); scanf("%f", &lista->saldo); lista->sig = (nodo*)malloc(sizeof(nodo)); crear(lista->sig); } }
int main(){ int opcion; tListaGrabaciones listaGrabaciones; tListaProgramas listaProgramas; inicializar(listaProgramas); crear(listaGrabaciones); if (cargar(listaProgramas)){ do{ system("pause"); system("cls"); opcion = menu(); switch (opcion){ case 1: tProgramaPtr programa; programa = selecPrograma(listaProgramas); if (insertar(listaGrabaciones, programa)) cout << "Nueva grabacion inserada" << endl; else cout << "Hubo un fallo al insertar la grabacion" << endl; break; case 2: mostrar(listaGrabaciones, 0); break; case 3: destruir(listaProgramas); destruir(listaGrabaciones); cout << "Se han eliminado las listas de programas y grabaciones" << endl; break; } } while (opcion != 3); } else cout << "Error al cargar la lista de programas desde el fichero" << endl; cout << "Cerrando aplicacion..." << endl; system("pause"); return 0; }
int main() { std::vector< std::vector<int> > mh(M, std::vector<int>(N-1)); std::vector< std::vector<int> > mv(M-1, std::vector<int>(N)); std::vector< std::vector<int> > visited(M, std::vector<int>(N)); initialize(visited, mh, mv); srand (time(NULL)); //empiezo en una posicion random int posx = rand() % N; int posy = rand() % M; crear(posx, posy, visited, mh, mv); printMaze(mh,mv); return 0; }
void crear(nodo *registro) { // Ingreso datos printf("Ingresar seccion (FIN para terminar): "); scanf(" %s", registro->seccion); if ((strcmp(registro->seccion, "FIN"))==0) registro->sig=NULL; else { //termino de ingresar datos printf("Ingresar saldo: "); scanf("%f", ®istro->saldo); //creo nuevo nodo registro->sig=malloc(sizeof(nodo)); crear ((nodo*)registro->sig); } return; }
int main() { nodo *prin; prin = (nodo*)malloc(sizeof(nodo)); crear(prin); mostrar(prin); long int dni_obj; printf("\n\nIngrese un DNI que este buscando: "); scanf("%ld", &dni_obj); nodo *marca; marca = localiza(prin, dni_obj); printf("\nEl DNI buscado"); if(marca == NULL) printf(" NO"); printf(" fue encontrado"); printf("\nEl dni encontrado es: %ld, nombre: %s", marca->dni, marca->nombre); return 0; }
void crear(int x , int y, std::vector< std::vector<int> >& visited, std::vector< std::vector<int> >& mh, std::vector< std::vector<int> >& mv ) { std::pair <int,int> pos; pos.first = x; pos.second = y; if (visited[y][x]){ return; }else{ visited[y][x] = 1; std::vector< std::pair<int,int> > vecinos; vecinos = dameVecinos(pos); for(int i =0; i<4;i++){ if(esPosicionValida(vecinos[i]) && !visited[vecinos[i].second][vecinos[i].first]){ //si no fue visitada, rompo la pared y me llamo recursivamente //la fila de arista a la derech es la posicion y if (right_move(x, vecinos[i].first)){ mh[y][x] = 1 ;} if (left_move(x, vecinos[i].first)){ mh[y][x-1] = 1;} if (up_move(y, vecinos[i].second)){ mv[y-1][x] = 1;} if (down_move(y, vecinos[i].second)){ mv[y][x] = 1;} crear(vecinos[i].first,vecinos[i].second,visited, mh, mv); } } } }
int main(int argc, char *argv[]){ int a; for(a=0;a<350;a++){ ciu[a].visitado=0; ciu[a].heuristica=INF; ciu[a].nombre_ciudad=""; } for(a=0;a<500;a++){ carr[a].nombre_carretera=""; carr[a].ciudad_destino=""; carr[a].ciudad_origen=""; carr[a].distancia=INF; } ciu[18].coordenada_x = 0; ciu[18].coordenada_y = 40; ciu[18].nombre_ciudad = "Manzanalandita"; ciu[28].coordenada_x = 20; ciu[28].coordenada_y = 80; ciu[28].nombre_ciudad = "Isapisa"; ciu[0].coordenada_x = 0; ciu[0].coordenada_y = 0; ciu[0].nombre_ciudad = "Manzanalandia"; ciu[1].coordenada_x = 20; ciu[1].coordenada_y = 30; ciu[1].nombre_ciudad = "Naranjalandia"; ciu[2].coordenada_x = -20; ciu[2].coordenada_y = -20; ciu[2].nombre_ciudad = "Peralandia"; ciu[3].coordenada_x = -25; ciu[3].coordenada_y = -30; ciu[3].nombre_ciudad = "Kiwilandia"; ciu[4].coordenada_x = 20; ciu[4].coordenada_y = -25; ciu[4].nombre_ciudad = "Duraznolandia"; carr[0].nombre_carretera="RutaMP"; carr[0].ciudad_origen="Manzanalandia"; carr[0].ciudad_destino="Peralandia"; carr[0].distancia=30; carr[1].nombre_carretera="RutaMK"; carr[1].ciudad_origen="Manzanalandia"; carr[1].ciudad_destino="Kiwilandia"; carr[1].distancia=50; carr[2].nombre_carretera="RutaMD"; carr[2].ciudad_origen="Manzanalandia"; carr[2].ciudad_destino="Duraznolandia"; carr[2].distancia=40; carr[3].nombre_carretera="RutaNP"; carr[3].ciudad_origen="Naranjalandia"; carr[3].ciudad_destino="Peralandia"; carr[3].distancia=50; carr[4].nombre_carretera="RutaND"; carr[4].ciudad_origen="Naranjalandia"; carr[4].ciudad_destino="Duraznolandia"; carr[4].distancia=60; carr[5].nombre_carretera="RutaPK"; carr[5].ciudad_origen="Peralandia"; carr[5].ciudad_destino="Kiwilandia"; carr[5].distancia=55; carr[6].nombre_carretera="RutaDK"; carr[6].ciudad_origen="Kiwilandia"; carr[6].ciudad_destino="Duraznolandia"; carr[6].distancia=50; carr[7].nombre_carretera="RutaPKM"; carr[7].ciudad_origen="RutaPK"; carr[7].distancia_origen=10; carr[7].distancia_destino=5; carr[7].ciudad_destino="RutaMK"; carr[7].distancia=25; carr[8].nombre_carretera="RutaMPN"; carr[8].ciudad_origen="Manzanalandia"; carr[8].ciudad_destino="RutaNP"; carr[8].distancia_destino=10; carr[8].distancia=20; carr[9].nombre_carretera="RutaMP"; carr[9].ciudad_origen="Peralandia"; carr[9].ciudad_destino="Manzanalandia"; carr[9].distancia=30; carr[10].nombre_carretera="RutaMK"; carr[10].ciudad_origen="Kiwilandia"; carr[10].ciudad_destino="Manzanalandia"; carr[10].distancia=50; carr[11].nombre_carretera="RutaMD"; carr[11].ciudad_origen="Duraznolandia"; carr[11].ciudad_destino="Manzanalandia"; carr[11].distancia=40; carr[12].nombre_carretera="RutaNP"; carr[12].ciudad_origen="Peralandia"; carr[12].ciudad_destino="Naranjalandia"; carr[12].distancia=50; carr[13].nombre_carretera="RutaND"; carr[13].ciudad_origen="Duraznolandia"; carr[13].ciudad_destino="Naranjalandia"; carr[13].distancia=60; carr[14].nombre_carretera="RutaPK"; carr[14].ciudad_origen="Kiwilandia"; carr[14].ciudad_destino="Peralandia"; carr[14].distancia=55; carr[15].nombre_carretera="RutaDK"; carr[15].ciudad_origen="Duraznolandia"; carr[15].ciudad_destino="Kiwilandia"; carr[15].distancia=50; int i; //for(i=0;i<20;i++){ // printf("%s \n",ciu[i].nombre_ciudad); // printf("%s \n",carr[i].nombre_carretera); //} //pete(carr,ciu[1],ciu[3]); int y=0; int contar=0,t=1; i=0; while(t!=9){ for(a=0;a<350;a++){ ciu[a].visitado=0; } y=0; contar=0; pete(carr,ciu[i].nombre_ciudad,ciu,&y); for(a=0;a<350;a++){ if (strlen(ciu[a].nombre_ciudad)>0)contar++; } if(contar!=y){ printf("No totalmente conectado\n"); crear(ciu,carr); } else {printf("Correctamente conectado\n"); t=9; } i++; } for(i=0;i<350;i++){ if (ciu[i].visitado==1){ printf("%s : ",ciu[i].nombre_ciudad); printf("Visitado\n" ); } // printf("%s \n",carr[i].nombre_carretera); } for(i=0;i<500;i++){ if (strlen(carr[i].nombre_carretera)>0){ printf("%i es %s : %s , %s\n",i,carr[i].nombre_carretera,carr[i].ciudad_destino,carr[i].ciudad_origen ); } } // float ye = c_distancia(ciu,ciu[0],ciu[3]); // printf("%f",ye); // c_heuristic(ciu,ciu[3]); int k=0; for(a=0;a<350;a++){ ciu[a].visitado=0; } // recorrer2(carr,ciu,ciutre,ciu[3],ciu[18],0,"Inicio"); float aux,mini,suma=0;/* for(a=0;a<350;a++){ if (strlen(ciu[a].nombre_ciudad)>0) } */ int hops=2; ciunke rarepepe[350]; int peperare=0; int e; for (a=0;a<350;a++){ if (strlen(ciu[a].nombre_ciudad)>0){ suma=0; for (k=0;k<350;k++) ciu[k].recorrido=0; int lulex=0; while(lulex<hops){ suma=0; for(k=0;k<350;k++){ if(strlen(ciu[k].nombre_ciudad)>0){ for(e=0;e<350;e++)ciu[e].visitado=0; into=0; recorrer2(carr,ciu,ciutre,ciu[a],ciu[k],0,"Inicio"); // printf("Yendo a: %i",k); // for(a=0;a<350;a++)ciu[a].visitado=0; //recorrer2(carr,ciu,ciutre,ciu[0],ciu[k],0,"Inicio"); if (a!=k) suma=ciu[k].recorrido+suma; // if(a!=k)printf(": %f\n",suma); // else puts("\n"); } } lulex++;} //printf("La ciudad %s tiene %f total\n",ciu[a].nombre_ciudad,suma); rarepepe[peperare].nombre= ciu[a].nombre_ciudad; rarepepe[peperare].funcion=suma;//hops; peperare++; } } bubbleSort(rarepepe,peperare); printf("La mejor Ciudad para poner la planta es: %s con %f de recorrido total\n",rarepepe[0].nombre,rarepepe[0].funcion); /* for (a=0;a<350;a++) if (strlen(ciu[a].nombre_ciudad)>0) printf("%s : %f : %i\n",ciu[a].nombre_ciudad,ciu[a].recorrido,ciu[a].visitado); for (a=0;a<into;a++) printf("%s : funcion :%f\n",ciutre[a].nombre,ciutre[a].funcion); */ int te,u; //float aux; distanciax =0; /* for (u=0;u<350;u++){ if(strlen(ciu[u].nombre_ciudad)>0){ distanciax=0; for (te=0;te<350;te++){ if (strlen(ciu[te].nombre_ciudad)>0){ recorrer2(carr,ciu,ciutre,ciu[u],ciu[te],0,"Inicio"); // printf } } aux=distanciax; printf("%s: %f\n",ciu[u].nombre_ciudad,aux); } }*/ }
int main (int argc, char **argv) { pthread_t threadPrincipal = (pthread_t *) malloc(sizeof (pthread_t)); struct sigaction accion; memset(&accion,'\0',sizeof(accion)); accion.sa_handler = &finHilo; tiempoEjecucionServidor = 0; programname = argv[0]; // Guardar nombre del programa para errores if(sigaction(SIGUSR1, &accion, NULL) < 0) { fatalerror("Manejando la señal",EXIT_ERROR); return 1; } verificarArgs(argc,argv); listaBombas = (bomba *) malloc(sizeof(bomba)); crear(listaBombas); // Crear y abrir archivo en modo de escritura char log_name[128]; sprintf(log_name, "log_%s.txt", nombreServidor); logServer = fopen(log_name, "w"); fprintf(logServer, "\0"); fclose(logServer); logServer = fopen(log_name, "a+"); // Escribir estado inicial del centro en el log sprintf(entryLog, "Estado incial: %d\n", inventarioServidor); fprintf(logServer,"%s",entryLog); fflush(logServer); int tError; if((tError=pthread_create(&threadPrincipal,NULL,ejecucionCentro,NULL)) < 0) fatalerror("Error al crear el thread",tError); register SVCXPRT *transp; pmap_unset (CENTRO_PROG, CENTRO_VERS); transp = svcudp_create(RPC_ANYSOCK); if (transp == NULL) { fprintf (stderr, "%s", "cannot create udp service."); exit(1); } if (!svc_register(transp, CENTRO_PROG, CENTRO_VERS, centro_prog_1, IPPROTO_UDP)) { fprintf (stderr, "%s", "unable to register (CENTRO_PROG, CENTRO_VERS, udp)."); exit(1); } transp = svctcp_create(RPC_ANYSOCK, 0, 0); if (transp == NULL) { fprintf (stderr, "%s", "cannot create tcp service."); exit(1); } if (!svc_register(transp, CENTRO_PROG, CENTRO_VERS, centro_prog_1, IPPROTO_TCP)) { fprintf (stderr, "%s", "unable to register (CENTRO_PROG, CENTRO_VERS, tcp)."); exit(1); } svc_run (); fprintf (stderr, "%s", "svc_run returned"); exit(EXIT_SUCCESS); }
int main(){ printf("--INICIÓ PROCESO HIJO--\n"); init(); //inicializa operaciones int i, j, n; int shmid1,shmid2; key_t llave1,llave2; float *shm1; float *shm2; llave1 = 5677; llave2 = 5678; pid_t pid; char *argv[2]; argv[0] = "Nieto"; argv[1] = NULL; /*Creación de bloque de memoria compartida*/ if((shmid1 = shmget(llave1, sizeof(float)*100, IPC_CREAT | 0666)) < 0) { perror("Error al obtener memoria compartida: shmget\n"); exit(0); } if((shmid2 = shmget(llave2, sizeof(float)*100, IPC_CREAT | 0666)) < 0) { perror("Error al obtener memoria compartida: shmget\n"); exit(0); } if((shm1 = shmat(shmid1, NULL, 0)) == (float *) -1){ perror("Error al enlazar la memoria compartida: shmat\n"); exit(0); } if((shm2 = shmat(shmid2, NULL, 0)) == (float *) -1){ perror("Error al enlazar la memoria compartida: shmat\n"); exit(0); } /*Obtención de las matrices del proceso padre*/ Matriz m1 = crear(10, 10); Matriz m2 = crear(10, 10); for(i=0; i<10; i++){ for(j=0; j<10; j++){ n= (i*10) + j; m1->filas[i][j] = *(shm1+n); m2->filas[i][j] = *(shm2+n); } } /*Valores de las matrices para el proceso nieto*/ srand(time(NULL)); for(i=0; i<100; i++){ *(shm1+i) = rand() % 11; } for(i=0; i<100; i++){ *(shm2+i) = rand() % 11; } /*Creación del proceso hijo del hijo*/ if((pid= fork())==-1) printf("Error al crear el proceso hijo del proceso hijo\n"); if(pid == 0){ execv(argv[0], argv); } else{ Matriz m = mult(m1, m2); printf("\nMatriz 1 recibida del padre:\n"); printMatriz(m1); printf("\nMatriz 2 recibida del padre:\n"); printMatriz(m2); printf("\nM1*M2:\n"); printMatriz(m); esperar(0); //esperamos que termine suma printf("Hijo: Enviando mult a padre...\n"); /*Guardando el producto en el bloque de memoria compartida*/ for(i=0; i<10; i++){ for(j=0; j<10; j++){ n= (i*10) + j; *(shm1+n) = m->filas[i][j]; } } printf("--FINALIZÓ PROCESO HIJO--\n"); liberar(1); //termina multiplicación exit(0); } }
int main(){ init(); //inicializa operaciones int i, j, n; int shmid1,shmid2; key_t llave1,llave2; float *shm1; float *shm2; llave1 = 5677; llave2 = 5678; pid_t pid; char *argv[2]; argv[0] = "Hijo"; argv[1] = NULL; /*Creación de bloque de memoria compartida*/ if((shmid1 = shmget(llave1, sizeof(float)*100, IPC_CREAT | 0666)) < 0) { perror("Error al obtener memoria compartida: shmget\n"); exit(0); } if((shmid2 = shmget(llave2, sizeof(float)*100, IPC_CREAT | 0666)) < 0) { perror("Error al obtener memoria compartida: shmget\n"); exit(0); } if((shm1 = shmat(shmid1, NULL, 0)) == (float *) -1){ perror("Error al enlazar la memoria compartida: shmat\n"); exit(0); } if((shm2 = shmat(shmid2, NULL, 0)) == (float *) -1){ perror("Error al enlazar la memoria compartida: shmat\n"); exit(0); } printf("shmid1: %d\n", shmid1); printf("shmid2: %d\n", shmid2); reset(0); //ponemos en 0 el semáforo reset(1); //ponemos en 0 el semáforo bloquear(0); //suma bloquear(1); //mult /*Valores de las matrices para el proceso hijo*/ srand(time(NULL)); for(i=0; i<100; i++){ *(shm1+i) = rand() % 11; } for(i=0; i<100; i++){ *(shm2+i) = rand() % 11; } /*Creación del proceso hijo*/ if((pid= fork())==-1) printf("Error al crear el proceso hijo\n"); if(pid == 0){ execv(argv[0], argv); } else{ esperar(1); //esperamos operaciones /*Obtención de los resultados de la suma y producto*/ Matriz mult = crear(10, 10); Matriz sum = crear(10, 10); for(i=0; i<10; i++){ for(j=0; j<10; j++){ n= (i*10) + j; mult->filas[i][j] = *(shm1+n); sum->filas[i][j] = *(shm2 + n); } } printf("Calculando inversas...\n"); /*Matrices Inversas*/ Matriz invMult = inv(mult); Matriz invSum = inv(sum); printf("\nMatriz inversa de la MULTIPLICACIÓN realizada por el HIJO:\n"); printMatriz(invMult); printf("\nMatriz inversa de la SUMA realizada por el NIETO:\n"); printMatriz(invSum); printf("\n"); guardaMatriz(invMult, "multiplicacion.txt"); guardaMatriz(invSum, "suma.txt"); printf("Terminado.\n"); exit(0); } }
Frecuencias::Frecuencias(const Frecuencias& otro){ crear(otro.npares); for(int i=0;i<npares;i++){ parejas[i]=otro.parejas[i]; } }