1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 | CLS INPUT "Vvedite imya faila:"; FL$ ON ERROR GOTO CantFind Fr = FREEFILE OPEN "I", #Fr, FL$ ' Esli Fail est IF NoFound = 1 THEN ' Esli Faila net PRINT "FAIL NE NAIDEN!!! VVODIM S KLAVIATURI!!!" INPUT "Vvedite kol-vo strok : ", m INPUT "Vvedite kol-vo stolbcov : ", n ELSEIF NoFound = 0 THEN INPUT #Fr, m, n END IF DIM A(n, m) ON ERROR GOTO CantRead FOR iy = 1 TO m: FOR ix = 1 TO n IF NoFound = 1 THEN PRINT "Vvedite element [Stroka:" + STR$(iy) + ",Stolbec:" + STR$(ix) + "] :"; INPUT A(ix, iy) ELSEIF NoFound = 0 THEN INPUT #Fr, A(ix, iy) END IF NEXT: NEXT IF NoFound = 0 THEN CLOSE #Fr 'Vivod matrici PRINT "Matrica__________" FOR iy = 1 TO m: FOR ix = 1 TO n PRINT A(ix, iy); NEXT: PRINT: NEXT PRINT "[S] - Sohranit matricu [N|ESC] - ne sohranit" DO : c$ = INKEY$: IF UCASE$(c$) = "S" THEN 'Vivod matrici v fail Fr = FREEFILE OPEN "O", #Fr, "Matrica . txt" PRINT #Fr, m; n FOR iy = 1 TO m: FOR ix = 1 TO n PRINT #Fr, A(ix, iy); NEXT: PRINT #Fr,: NEXT: EXIT DO CLOSE #Fr ELSEIF UCASE$(c$) = "N" OR c$ = CHR$( 27 ) THEN EXIT DO END IF LOOP el = A( 1 , 1 ) FOR iy = 1 TO m: FOR ix = 1 TO n IF A(ix, iy) > el THEN el = A(ix, iy): elx = ix: ely = iy NEXT ix, iy SWAP A( 1 , 1 ), A(elx, ely) PRINT "Rezultat_________" FOR iy = 1 TO m: FOR ix = 1 TO n PRINT A(ix, iy); NEXT: PRINT: NEXT ON ERROR GOTO 0 END CantFind: NoFound = 1 RESUME NEXT CantRead: FormatER = 1 : COLOR 12 PRINT "Oshibka formata faila, ispravte fail!!!" END RESUME NEXT |
Тестирование выполнено в программе QB64 ( Скачать )