Совет 2 (QBasic)
Совет 3 (Си)
Совет 4 (Паскаль)
Программа 4_05.bas
DECLARE SUB PRINTA (ROW%, COL%, W%, C% (-) , N%, M%)
DEFINT A-Z
CLS
DIM A(2, 3) , B(3, 3)
FOR J = 0 ТО 2: FOR К = 0 TO 3
A(J, K) = J + К * К NEXT К: NEXT J PRINTA 5, 5, 3, A() , 3, 4
FOR J = 0 TO 3: FOR К = 0 ТО 3
B(J, K) = J * 10 + К * 25 NEXT K: NEXT J PRINTA 5, 40, 5, B() , 4, 4
END
SUB PRINTA (ROW%, COL%, W%, C%(), N%, M%) DEFINT A-Z
F$ = LEFT$("##########", W)
FOR J = 0 TO N - 1: FOR К = 0 TO M - 1
LOCATE ROW + J, COL + K*W
PRINT USING F$; C(J, K) NEXT K: NEXT J
END SUB
Программа 4_05.с
#include <stdio.h>
#include <conio.h>
void printa(int row,int col,int w,int *c,int n,int m) ;
void main(void) {
int a[3] [4] = {{!,2,3,4),{10,20,30,40},{100,200, 300, 400}};
int b[4][4]={{l,2,3,4},{5,6,7,8},{9,10,ll,12},{13,14,15,16}};
clrscr();
printa (5,5,4, (int *)a,3,4);
printa(5,40,5,(int *)b,4,4);
getch(); }
void printa(int row,int col,int w,int *c,int n,int m) {
int j,k;
char f[4]="%0d";
f[1] += w;
for(j=0; j<n; j++)
for(k=0; k<m; k++)
{
gotoxy(col+k*w,row+j);
printf(f,c[k+j*m]); }
}
Программа 4_05.pas
program mat_print;
uses crt;
const
a:array [1..3,1..4] of integer = ((1,2,3,4), (10,20,30,40), (100,200,300,400));