[{"data":1,"prerenderedAt":1478},["ShallowReactive",2],{"doc:\u002Fex06":3},{"id":4,"title":5,"body":6,"description":1471,"extension":1472,"meta":1473,"navigation":120,"path":1474,"seo":1475,"stem":1476,"__hash__":1477},"docs\u002Fex06.md","Ejercicio 06: ft_print_comb2",{"type":7,"value":8,"toc":1437},"minimark",[9,13,20,82,88,93,706,710,717,727,733,740,746,762,768,790,796,812,891,897,903,909,922,932,943,954,964,970,973,979,982,988,991,1000,1003,1009,1028,1034,1040,1043,1049,1052,1058,1061,1070,1073,1079,1082,1086,1089,1097,1114,1118,1121,1127,1131,1194,1198,1300,1304,1410,1417,1421,1433],[10,11,5],"h1",{"id":12},"ejercicio-06-ft_print_comb2",[14,15,16],"blockquote",{},[17,18,19],"p",{},"Muestra todas las combinaciones posibles de dos números (XX XX) entre 0 y 99,\nen orden creciente.",[21,22,23,36],"table",{},[24,25,26],"thead",{},[27,28,29,33],"tr",{},[30,31,32],"th",{},"Dato",[30,34,35],{},"Valor",[37,38,39,51,61,71],"tbody",{},[27,40,41,45],{},[42,43,44],"td",{},"Carpeta",[42,46,47],{},[48,49,50],"code",{},"ex06\u002F",[27,52,53,56],{},[42,54,55],{},"Archivo",[42,57,58],{},[48,59,60],{},"ft_print_comb2.c",[27,62,63,66],{},[42,64,65],{},"Prototipo",[42,67,68],{},[48,69,70],{},"void ft_print_comb2(void);",[27,72,73,76],{},[42,74,75],{},"Funciones autorizadas",[42,77,78,79],{},"solo ",[48,80,81],{},"write",[17,83,84],{},[85,86,87],"em",{},"Hecho con amor para Laura, por Bogdan.",[89,90,92],"h2",{"id":91},"el-archivo","El archivo",[94,95,100],"pre",{"className":96,"code":97,"language":98,"meta":99,"style":99},"language-c shiki shiki-themes github-light github-dark","#include \u003Cunistd.h>\n\n\u002F*\n** Copia local de ft_putchar: el enunciado solo permite entregar este archivo.\n** Escribe un unico caracter en la salida estandar.\n*\u002F\nstatic void put_char(char c)\n{\n    write(1, &c, 1);\n}\n\n\u002F*\n** Imprime un numero entre 0 y 99 siempre con dos digitos: 7 se ve como \"07\".\n** La division y el resto entre 10 separan decenas y unidades.\n*\u002F\nstatic void put_two_digits(int number)\n{\n    put_char('0' + number \u002F 10);\n    put_char('0' + number % 10);\n}\n\n\u002F*\n** Imprime \"XX YY\". El separador va delante de todas menos la primera,\n** para que la salida no termine en \", \".\n*\u002F\nstatic void print_pair(int left, int right, int first)\n{\n    if (!first)\n    {\n        put_char(',');\n        put_char(' ');\n    }\n    put_two_digits(left);\n    put_char(' ');\n    put_two_digits(right);\n}\n\n\u002F*\n** Recorre los dos numeros con dos bucles anidados. El segundo empieza en\n** left + 1 para que no se repita ninguna pareja ni salga \"05 03\".\n*\u002F\nvoid    ft_print_comb2(void)\n{\n    int left;\n    int right;\n    int first;\n\n    first = 1;\n    left = 0;\n    while (left \u003C= 98)\n    {\n        right = left + 1;\n        while (right \u003C= 99)\n        {\n            print_pair(left, right, first);\n            first = 0;\n            right++;\n        }\n        left++;\n    }\n    put_char('\\n');\n}\n","c","",[48,101,102,115,122,129,135,141,147,174,180,206,212,217,222,228,234,239,259,264,289,309,314,319,324,330,336,341,374,379,394,400,413,425,431,440,451,459,464,469,474,480,486,491,506,511,520,528,536,541,556,569,586,591,609,625,631,640,652,663,669,679,684,701],{"__ignoreMap":99},[103,104,107,111],"span",{"class":105,"line":106},"line",1,[103,108,110],{"class":109},"szBVR","#include",[103,112,114],{"class":113},"sZZnC"," \u003Cunistd.h>\n",[103,116,118],{"class":105,"line":117},2,[103,119,121],{"emptyLinePlaceholder":120},true,"\n",[103,123,125],{"class":105,"line":124},3,[103,126,128],{"class":127},"sJ8bj","\u002F*\n",[103,130,132],{"class":105,"line":131},4,[103,133,134],{"class":127},"** Copia local de ft_putchar: el enunciado solo permite entregar este archivo.\n",[103,136,138],{"class":105,"line":137},5,[103,139,140],{"class":127},"** Escribe un unico caracter en la salida estandar.\n",[103,142,144],{"class":105,"line":143},6,[103,145,146],{"class":127},"*\u002F\n",[103,148,150,153,156,160,164,167,171],{"class":105,"line":149},7,[103,151,152],{"class":109},"static",[103,154,155],{"class":109}," void",[103,157,159],{"class":158},"sScJk"," put_char",[103,161,163],{"class":162},"sVt8B","(",[103,165,166],{"class":109},"char",[103,168,170],{"class":169},"s4XuR"," c",[103,172,173],{"class":162},")\n",[103,175,177],{"class":105,"line":176},8,[103,178,179],{"class":162},"{\n",[103,181,183,186,188,192,195,198,201,203],{"class":105,"line":182},9,[103,184,185],{"class":158},"    write",[103,187,163],{"class":162},[103,189,191],{"class":190},"sj4cs","1",[103,193,194],{"class":162},", ",[103,196,197],{"class":109},"&",[103,199,200],{"class":162},"c, ",[103,202,191],{"class":190},[103,204,205],{"class":162},");\n",[103,207,209],{"class":105,"line":208},10,[103,210,211],{"class":162},"}\n",[103,213,215],{"class":105,"line":214},11,[103,216,121],{"emptyLinePlaceholder":120},[103,218,220],{"class":105,"line":219},12,[103,221,128],{"class":127},[103,223,225],{"class":105,"line":224},13,[103,226,227],{"class":127},"** Imprime un numero entre 0 y 99 siempre con dos digitos: 7 se ve como \"07\".\n",[103,229,231],{"class":105,"line":230},14,[103,232,233],{"class":127},"** La division y el resto entre 10 separan decenas y unidades.\n",[103,235,237],{"class":105,"line":236},15,[103,238,146],{"class":127},[103,240,242,244,246,249,251,254,257],{"class":105,"line":241},16,[103,243,152],{"class":109},[103,245,155],{"class":109},[103,247,248],{"class":158}," put_two_digits",[103,250,163],{"class":162},[103,252,253],{"class":109},"int",[103,255,256],{"class":169}," number",[103,258,173],{"class":162},[103,260,262],{"class":105,"line":261},17,[103,263,179],{"class":162},[103,265,267,270,272,275,278,281,284,287],{"class":105,"line":266},18,[103,268,269],{"class":158},"    put_char",[103,271,163],{"class":162},[103,273,274],{"class":113},"'0'",[103,276,277],{"class":109}," +",[103,279,280],{"class":162}," number ",[103,282,283],{"class":109},"\u002F",[103,285,286],{"class":190}," 10",[103,288,205],{"class":162},[103,290,292,294,296,298,300,302,305,307],{"class":105,"line":291},19,[103,293,269],{"class":158},[103,295,163],{"class":162},[103,297,274],{"class":113},[103,299,277],{"class":109},[103,301,280],{"class":162},[103,303,304],{"class":109},"%",[103,306,286],{"class":190},[103,308,205],{"class":162},[103,310,312],{"class":105,"line":311},20,[103,313,211],{"class":162},[103,315,317],{"class":105,"line":316},21,[103,318,121],{"emptyLinePlaceholder":120},[103,320,322],{"class":105,"line":321},22,[103,323,128],{"class":127},[103,325,327],{"class":105,"line":326},23,[103,328,329],{"class":127},"** Imprime \"XX YY\". El separador va delante de todas menos la primera,\n",[103,331,333],{"class":105,"line":332},24,[103,334,335],{"class":127},"** para que la salida no termine en \", \".\n",[103,337,339],{"class":105,"line":338},25,[103,340,146],{"class":127},[103,342,344,346,348,351,353,355,358,360,362,365,367,369,372],{"class":105,"line":343},26,[103,345,152],{"class":109},[103,347,155],{"class":109},[103,349,350],{"class":158}," print_pair",[103,352,163],{"class":162},[103,354,253],{"class":109},[103,356,357],{"class":169}," left",[103,359,194],{"class":162},[103,361,253],{"class":109},[103,363,364],{"class":169}," right",[103,366,194],{"class":162},[103,368,253],{"class":109},[103,370,371],{"class":169}," first",[103,373,173],{"class":162},[103,375,377],{"class":105,"line":376},27,[103,378,179],{"class":162},[103,380,382,385,388,391],{"class":105,"line":381},28,[103,383,384],{"class":109},"    if",[103,386,387],{"class":162}," (",[103,389,390],{"class":109},"!",[103,392,393],{"class":162},"first)\n",[103,395,397],{"class":105,"line":396},29,[103,398,399],{"class":162},"    {\n",[103,401,403,406,408,411],{"class":105,"line":402},30,[103,404,405],{"class":158},"        put_char",[103,407,163],{"class":162},[103,409,410],{"class":113},"','",[103,412,205],{"class":162},[103,414,416,418,420,423],{"class":105,"line":415},31,[103,417,405],{"class":158},[103,419,163],{"class":162},[103,421,422],{"class":113},"' '",[103,424,205],{"class":162},[103,426,428],{"class":105,"line":427},32,[103,429,430],{"class":162},"    }\n",[103,432,434,437],{"class":105,"line":433},33,[103,435,436],{"class":158},"    put_two_digits",[103,438,439],{"class":162},"(left);\n",[103,441,443,445,447,449],{"class":105,"line":442},34,[103,444,269],{"class":158},[103,446,163],{"class":162},[103,448,422],{"class":113},[103,450,205],{"class":162},[103,452,454,456],{"class":105,"line":453},35,[103,455,436],{"class":158},[103,457,458],{"class":162},"(right);\n",[103,460,462],{"class":105,"line":461},36,[103,463,211],{"class":162},[103,465,467],{"class":105,"line":466},37,[103,468,121],{"emptyLinePlaceholder":120},[103,470,472],{"class":105,"line":471},38,[103,473,128],{"class":127},[103,475,477],{"class":105,"line":476},39,[103,478,479],{"class":127},"** Recorre los dos numeros con dos bucles anidados. El segundo empieza en\n",[103,481,483],{"class":105,"line":482},40,[103,484,485],{"class":127},"** left + 1 para que no se repita ninguna pareja ni salga \"05 03\".\n",[103,487,489],{"class":105,"line":488},41,[103,490,146],{"class":127},[103,492,494,497,500,502,504],{"class":105,"line":493},42,[103,495,496],{"class":109},"void",[103,498,499],{"class":158},"    ft_print_comb2",[103,501,163],{"class":162},[103,503,496],{"class":109},[103,505,173],{"class":162},[103,507,509],{"class":105,"line":508},43,[103,510,179],{"class":162},[103,512,514,517],{"class":105,"line":513},44,[103,515,516],{"class":109},"    int",[103,518,519],{"class":162}," left;\n",[103,521,523,525],{"class":105,"line":522},45,[103,524,516],{"class":109},[103,526,527],{"class":162}," right;\n",[103,529,531,533],{"class":105,"line":530},46,[103,532,516],{"class":109},[103,534,535],{"class":162}," first;\n",[103,537,539],{"class":105,"line":538},47,[103,540,121],{"emptyLinePlaceholder":120},[103,542,544,547,550,553],{"class":105,"line":543},48,[103,545,546],{"class":162},"    first ",[103,548,549],{"class":109},"=",[103,551,552],{"class":190}," 1",[103,554,555],{"class":162},";\n",[103,557,559,562,564,567],{"class":105,"line":558},49,[103,560,561],{"class":162},"    left ",[103,563,549],{"class":109},[103,565,566],{"class":190}," 0",[103,568,555],{"class":162},[103,570,572,575,578,581,584],{"class":105,"line":571},50,[103,573,574],{"class":109},"    while",[103,576,577],{"class":162}," (left ",[103,579,580],{"class":109},"\u003C=",[103,582,583],{"class":190}," 98",[103,585,173],{"class":162},[103,587,589],{"class":105,"line":588},51,[103,590,399],{"class":162},[103,592,594,597,599,602,605,607],{"class":105,"line":593},52,[103,595,596],{"class":162},"        right ",[103,598,549],{"class":109},[103,600,601],{"class":162}," left ",[103,603,604],{"class":109},"+",[103,606,552],{"class":190},[103,608,555],{"class":162},[103,610,612,615,618,620,623],{"class":105,"line":611},53,[103,613,614],{"class":109},"        while",[103,616,617],{"class":162}," (right ",[103,619,580],{"class":109},[103,621,622],{"class":190}," 99",[103,624,173],{"class":162},[103,626,628],{"class":105,"line":627},54,[103,629,630],{"class":162},"        {\n",[103,632,634,637],{"class":105,"line":633},55,[103,635,636],{"class":158},"            print_pair",[103,638,639],{"class":162},"(left, right, first);\n",[103,641,643,646,648,650],{"class":105,"line":642},56,[103,644,645],{"class":162},"            first ",[103,647,549],{"class":109},[103,649,566],{"class":190},[103,651,555],{"class":162},[103,653,655,658,661],{"class":105,"line":654},57,[103,656,657],{"class":162},"            right",[103,659,660],{"class":109},"++",[103,662,555],{"class":162},[103,664,666],{"class":105,"line":665},58,[103,667,668],{"class":162},"        }\n",[103,670,672,675,677],{"class":105,"line":671},59,[103,673,674],{"class":162},"        left",[103,676,660],{"class":109},[103,678,555],{"class":162},[103,680,682],{"class":105,"line":681},60,[103,683,430],{"class":162},[103,685,687,689,691,694,697,699],{"class":105,"line":686},61,[103,688,269],{"class":158},[103,690,163],{"class":162},[103,692,693],{"class":113},"'",[103,695,696],{"class":190},"\\n",[103,698,693],{"class":113},[103,700,205],{"class":162},[103,702,704],{"class":105,"line":703},62,[103,705,211],{"class":162},[89,707,709],{"id":708},"línea-por-línea","Línea por línea",[711,712,714],"h3",{"id":713},"include-unistdh",[48,715,716],{},"#include \u003Cunistd.h>",[17,718,719,720,722,723,726],{},"Declara ",[48,721,81],{},". Sin ella, el compilador no conoce la función y ",[48,724,725],{},"-Werror"," corta\nla compilación.",[711,728,730],{"id":729},"static-void-put_charchar-c",[48,731,732],{},"static void put_char(char c)",[17,734,735,736,739],{},"Copia privada de ",[48,737,738],{},"ft_putchar",", como en todos los ejercicios del módulo.",[711,741,743],{"id":742},"static-void-put_two_digitsint-number",[48,744,745],{},"static void put_two_digits(int number)",[17,747,748,749,753,754,757,758,761],{},"Imprime un número entre 0 y 99 ",[750,751,752],"strong",{},"siempre con dos cifras",". Es el corazón de este\nejercicio: el formato ",[48,755,756],{},"XX XX"," obliga a que el 7 salga como ",[48,759,760],{},"07",".",[711,763,765],{"id":764},"put_char0-number-10",[48,766,767],{},"put_char('0' + number \u002F 10);",[17,769,770,771,774,775,778,779,782,783,786,787,789],{},"La división entera entre 10 se queda con las decenas. Con ",[48,772,773],{},"47"," da ",[48,776,777],{},"4","; con ",[48,780,781],{},"7","\nda ",[48,784,785],{},"0",". Sumar ",[48,788,274],{}," convierte ese 0–9 en el carácter correspondiente.",[711,791,793],{"id":792},"put_char0-number-10-1",[48,794,795],{},"put_char('0' + number % 10);",[17,797,798,799,774,801,778,803,774,805,807,808,811],{},"El resto entre 10 se queda con la última cifra. Con ",[48,800,773],{},[48,802,781],{},[48,804,781],{},[48,806,781],{},".\nOtra vez, ",[48,809,810],{},"'0' +"," lo convierte en carácter.",[21,813,814,836],{},[24,815,816],{},[27,817,818,823,828,833],{},[30,819,820],{},[48,821,822],{},"number",[30,824,825],{},[48,826,827],{},"number \u002F 10",[30,829,830],{},[48,831,832],{},"number % 10",[30,834,835],{},"Se imprime",[37,837,838,851,863,877],{},[27,839,840,842,844,846],{},[42,841,785],{},[42,843,785],{},[42,845,785],{},[42,847,848],{},[48,849,850],{},"00",[27,852,853,855,857,859],{},[42,854,781],{},[42,856,785],{},[42,858,781],{},[42,860,861],{},[48,862,760],{},[27,864,865,868,870,873],{},[42,866,867],{},"42",[42,869,777],{},[42,871,872],{},"2",[42,874,875],{},[48,876,867],{},[27,878,879,882,885,887],{},[42,880,881],{},"99",[42,883,884],{},"9",[42,886,884],{},[42,888,889],{},[48,890,881],{},[711,892,894],{"id":893},"static-void-print_pairint-left-int-right-int-first",[48,895,896],{},"static void print_pair(int left, int right, int first)",[17,898,899,900,902],{},"Imprime una pareja completa: separador si toca, primer número, un espacio y\nsegundo número. Es ",[48,901,152],{}," porque es un ayudante interno del archivo.",[711,904,906],{"id":905},"if-first",[48,907,908],{},"if (!first)",[17,910,911,914,915,918,919,761],{},[48,912,913],{},"!first"," es verdadero cuando ",[48,916,917],{},"first"," vale 0. Se lee: «si no es la primera\npareja, escribe el separador». Así la salida no termina en ",[48,920,921],{},"\", \"",[711,923,925,928,929],{"id":924},"put_char-y-put_char",[48,926,927],{},"put_char(',');"," y ",[48,930,931],{},"put_char(' ');",[17,933,934,935,938,939,942],{},"El separador entre parejas son dos caracteres. Entre los dos números de una\npareja va ",[750,936,937],{},"un solo espacio",", y eso lo pone ",[48,940,941],{},"print_pair"," más abajo.",[711,944,946,194,949,194,951],{"id":945},"put_two_digitsleft-put_char-put_two_digitsright",[48,947,948],{},"put_two_digits(left);",[48,950,931],{},[48,952,953],{},"put_two_digits(right);",[17,955,956,957,960,961,963],{},"El formato exacto: ",[48,958,959],{},"XX",", espacio, ",[48,962,959],{},". Ni coma dentro de la pareja ni espacio\ndoble.",[711,965,967],{"id":966},"void-ft_print_comb2void",[48,968,969],{},"void ft_print_comb2(void)",[17,971,972],{},"La función pública, sin parámetros y sin valor de retorno.",[711,974,976],{"id":975},"int-left-int-right-int-first",[48,977,978],{},"int left; int right; int first;",[17,980,981],{},"Los dos números y la bandera. Se declaran arriba por el estilo de la piscina.",[711,983,985],{"id":984},"first-1",[48,986,987],{},"first = 1;",[17,989,990],{},"Antes de imprimir nada, la primera pareja no lleva separador.",[711,992,994,928,997],{"id":993},"left-0-y-while-left-98",[48,995,996],{},"left = 0;",[48,998,999],{},"while (left \u003C= 98)",[17,1001,1002],{},"El primer número va de 0 a 98. No llega a 99 porque necesitaría un segundo\nnúmero mayor, y no queda ninguno.",[711,1004,1006],{"id":1005},"right-left-1",[48,1007,1008],{},"right = left + 1;",[17,1010,1011,1012,1015,1016,1019,1020,1023,1024,1027],{},"El segundo número arranca ",[750,1013,1014],{},"uno por encima"," del primero. Eso evita parejas\nrepetidas y parejas invertidas: si ",[48,1017,1018],{},"left"," es 3, ",[48,1021,1022],{},"right"," empieza en 4, así que\n",[48,1025,1026],{},"05 03"," nunca aparece.",[17,1029,1030,1031,1033],{},"Esta línea está dentro del bucle de ",[48,1032,1018],{},": se reinicia en cada vuelta del\nprimero. Si la pusieras fuera, solo la primera serie saldría bien.",[711,1035,1037],{"id":1036},"while-right-99",[48,1038,1039],{},"while (right \u003C= 99)",[17,1041,1042],{},"El segundo número llega hasta 99, el máximo de dos cifras.",[711,1044,1046],{"id":1045},"print_pairleft-right-first",[48,1047,1048],{},"print_pair(left, right, first);",[17,1050,1051],{},"Imprime la pareja con el formato y el separador correctos.",[711,1053,1055],{"id":1054},"first-0",[48,1056,1057],{},"first = 0;",[17,1059,1060],{},"Después de la primera pareja, ya no es la primera.",[711,1062,1064,928,1067],{"id":1063},"right-y-left",[48,1065,1066],{},"right++;",[48,1068,1069],{},"left++;",[17,1071,1072],{},"Cada bucle avanza. Sin estos incrementos el programa no termina.",[711,1074,1076],{"id":1075},"put_charn",[48,1077,1078],{},"put_char('\\n');",[17,1080,1081],{},"Un solo salto al final, fuera de los dos bucles.",[89,1083,1085],{"id":1084},"cuántas-parejas-salen","Cuántas parejas salen",[17,1087,1088],{},"Son las formas de elegir 2 números entre 100, sin importar el orden:",[94,1090,1095],{"className":1091,"code":1093,"language":1094},[1092],"language-text","100 × 99 \u002F 2 = 4950\n","text",[48,1096,1093],{"__ignoreMap":99},[17,1098,1099,1100,1102,1103,1106,1107,194,1110,1113],{},"Si te salen 9900, estás generando también las parejas invertidas: revisa que\n",[48,1101,1022],{}," empiece en ",[48,1104,1105],{},"left + 1",". Si te salen 5050, estás incluyendo las parejas\ncon los dos números iguales (",[48,1108,1109],{},"00 00",[48,1111,1112],{},"01 01","…), que no son válidas.",[89,1115,1117],{"id":1116},"salida-esperada","Salida esperada",[17,1119,1120],{},"Abreviada, como en el enunciado:",[94,1122,1125],{"className":1123,"code":1124,"language":1094,"meta":99},[1092],"00 01, 00 02, 00 03, 00 04, ..., 98 99\n",[48,1126,1124],{"__ignoreMap":99},[89,1128,1130],{"id":1129},"casos-límite","Casos límite",[21,1132,1133,1143],{},[24,1134,1135],{},[27,1136,1137,1140],{},[30,1138,1139],{},"Detalle",[30,1141,1142],{},"Decisión",[37,1144,1145,1153,1161,1169,1182],{},[27,1146,1147,1150],{},[42,1148,1149],{},"Separador final",[42,1151,1152],{},"no se imprime",[27,1154,1155,1158],{},[42,1156,1157],{},"Salto de línea final",[42,1159,1160],{},"sí, igual que en el ejercicio 05",[27,1162,1163,1166],{},[42,1164,1165],{},"Números de una cifra",[42,1167,1168],{},"se completan con un cero delante",[27,1170,1171,1176],{},[42,1172,1173,1175],{},[48,1174,1018],{}," en 98",[42,1177,1178,1179],{},"su única pareja posible es ",[48,1180,1181],{},"98 99",[27,1183,1184,1189],{},[42,1185,1186,1188],{},[48,1187,1022],{}," repetido",[42,1190,1191,1192],{},"imposible: siempre es mayor que ",[48,1193,1018],{},[89,1195,1197],{"id":1196},"errores-típicos","Errores típicos",[21,1199,1200,1213],{},[24,1201,1202],{},[27,1203,1204,1207,1210],{},[30,1205,1206],{},"Mensaje o síntoma",[30,1208,1209],{},"Causa",[30,1211,1212],{},"Solución",[37,1214,1215,1236,1251,1266,1282],{},[27,1216,1217,1227,1230],{},[42,1218,1219,1220,1223,1224],{},"sale ",[48,1221,1222],{},"7 9"," en vez de ",[48,1225,1226],{},"07 09",[42,1228,1229],{},"imprimiste el número sin separar cifras",[42,1231,1232,1233],{},"usa ",[48,1234,1235],{},"put_two_digits",[27,1237,1238,1241,1246],{},[42,1239,1240],{},"parejas repetidas o invertidas",[42,1242,1243,1245],{},[48,1244,1022],{}," empieza en 0",[42,1247,1248],{},[48,1249,1250],{},"right = left + 1",[27,1252,1253,1258,1261],{},[42,1254,1255,1256],{},"termina en ",[48,1257,194],{},[42,1259,1260],{},"separador después de cada pareja",[42,1262,1263,1264],{},"ponlo delante con ",[48,1265,917],{},[27,1267,1268,1274,1277],{},[42,1269,1270,1273],{},[48,1271,1272],{},"printf"," no compila",[42,1275,1276],{},"la librería no está permitida",[42,1278,1232,1279],{},[48,1280,1281],{},"put_char",[27,1283,1284,1287,1297],{},[42,1285,1286],{},"no termina",[42,1288,1289,1290,1293,1294],{},"falta ",[48,1291,1292],{},"left++"," o ",[48,1295,1296],{},"right++",[42,1298,1299],{},"revisa los dos bucles",[89,1301,1303],{"id":1302},"comprobarlo","Comprobarlo",[94,1305,1309],{"className":1306,"code":1307,"language":1308,"meta":99,"style":99},"language-sh shiki shiki-themes github-light github-dark","cat > \u002Ftmp\u002Fmain.c \u003C\u003C'EOF'\nvoid    ft_print_comb2(void);\n\nint main(void)\n{\n    ft_print_comb2();\n    return (0);\n}\nEOF\ncc -Wall -Wextra -Werror ex06\u002Fft_print_comb2.c \u002Ftmp\u002Fmain.c -o \u002Ftmp\u002Fex06\n\u002Ftmp\u002Fex06 > \u002Ftmp\u002Fsalida.txt\nwc -w \u002Ftmp\u002Fsalida.txt\n","sh",[48,1310,1311,1328,1333,1337,1342,1346,1351,1356,1360,1365,1390,1400],{"__ignoreMap":99},[103,1312,1313,1316,1319,1322,1325],{"class":105,"line":106},[103,1314,1315],{"class":158},"cat",[103,1317,1318],{"class":109}," >",[103,1320,1321],{"class":113}," \u002Ftmp\u002Fmain.c",[103,1323,1324],{"class":109}," \u003C\u003C",[103,1326,1327],{"class":113},"'EOF'\n",[103,1329,1330],{"class":105,"line":117},[103,1331,1332],{"class":113},"void    ft_print_comb2(void);\n",[103,1334,1335],{"class":105,"line":124},[103,1336,121],{"emptyLinePlaceholder":120},[103,1338,1339],{"class":105,"line":131},[103,1340,1341],{"class":113},"int main(void)\n",[103,1343,1344],{"class":105,"line":137},[103,1345,179],{"class":113},[103,1347,1348],{"class":105,"line":143},[103,1349,1350],{"class":113},"    ft_print_comb2();\n",[103,1352,1353],{"class":105,"line":149},[103,1354,1355],{"class":113},"    return (0);\n",[103,1357,1358],{"class":105,"line":176},[103,1359,211],{"class":113},[103,1361,1362],{"class":105,"line":182},[103,1363,1364],{"class":113},"EOF\n",[103,1366,1367,1370,1373,1376,1379,1382,1384,1387],{"class":105,"line":208},[103,1368,1369],{"class":158},"cc",[103,1371,1372],{"class":190}," -Wall",[103,1374,1375],{"class":190}," -Wextra",[103,1377,1378],{"class":190}," -Werror",[103,1380,1381],{"class":113}," ex06\u002Fft_print_comb2.c",[103,1383,1321],{"class":113},[103,1385,1386],{"class":190}," -o",[103,1388,1389],{"class":113}," \u002Ftmp\u002Fex06\n",[103,1391,1392,1395,1397],{"class":105,"line":214},[103,1393,1394],{"class":158},"\u002Ftmp\u002Fex06",[103,1396,1318],{"class":109},[103,1398,1399],{"class":113}," \u002Ftmp\u002Fsalida.txt\n",[103,1401,1402,1405,1408],{"class":105,"line":219},[103,1403,1404],{"class":158},"wc",[103,1406,1407],{"class":190}," -w",[103,1409,1399],{"class":113},[17,1411,1412,1413,1416],{},"La salida completa tiene 4950 parejas. Compara contra el archivo esperado con\n",[48,1414,1415],{},"cmp",", que calla cuando coinciden.",[89,1418,1420],{"id":1419},"descargar","Descargar",[1422,1423,1424],"ul",{},[1425,1426,1427],"li",{},[1428,1429,1431],"a",{"href":1430,"download":60},"..\u002Fcode\u002Fft_print_comb2.c",[48,1432,60],{},[1434,1435,1436],"style",{},"html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .s4XuR, html code.shiki .s4XuR{--shiki-default:#E36209;--shiki-dark:#FFAB70}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":99,"searchDepth":117,"depth":117,"links":1438},[1439,1440,1465,1466,1467,1468,1469,1470],{"id":91,"depth":117,"text":92},{"id":708,"depth":117,"text":709,"children":1441},[1442,1443,1444,1445,1446,1447,1448,1449,1451,1453,1454,1455,1456,1458,1459,1460,1461,1462,1464],{"id":713,"depth":124,"text":716},{"id":729,"depth":124,"text":732},{"id":742,"depth":124,"text":745},{"id":764,"depth":124,"text":767},{"id":792,"depth":124,"text":795},{"id":893,"depth":124,"text":896},{"id":905,"depth":124,"text":908},{"id":924,"depth":124,"text":1450},"put_char(','); y put_char(' ');",{"id":945,"depth":124,"text":1452},"put_two_digits(left);, put_char(' ');, put_two_digits(right);",{"id":966,"depth":124,"text":969},{"id":975,"depth":124,"text":978},{"id":984,"depth":124,"text":987},{"id":993,"depth":124,"text":1457},"left = 0; y while (left \u003C= 98)",{"id":1005,"depth":124,"text":1008},{"id":1036,"depth":124,"text":1039},{"id":1045,"depth":124,"text":1048},{"id":1054,"depth":124,"text":1057},{"id":1063,"depth":124,"text":1463},"right++; y left++;",{"id":1075,"depth":124,"text":1078},{"id":1084,"depth":117,"text":1085},{"id":1116,"depth":117,"text":1117},{"id":1129,"depth":117,"text":1130},{"id":1196,"depth":117,"text":1197},{"id":1302,"depth":117,"text":1303},{"id":1419,"depth":117,"text":1420},"4950 parejas de números de 0 a 99 con dos cifras y separadores limpios.","md",{},"\u002Fex06",{"title":5,"description":1471},"ex06","AyJ3VVjDRjjDqrk_pWpY8G1qYqnSMM8iSfH05ohEW_g",1793539815758]