.
( ) .
/++ . , ( ) .
/++ ().
, (), ().
, X(m n), (. 9.4).
, S(k m n), 9.5 ( ).
x00 | x01 | . | . | . | x0j | . | . | . | x0 n-1 |
x10 | x11 | . | . | . | x1j | . | . | . | x1 n-1 |
............................
xi0 | xi1 | . | . | . | xij | . | . | . | xi n-1 |
............................
xm-1 0 | x m-1 1 | . | . | . | x m-1 j | . | . | . | x m-1 n-1 |
. 9.4.
s000 | s001 | . | . | . | s00j | . | . | . | s00 n-1 |
............................
s0i0 | s0i1 | . | . | . | s0ij | . | . | . | s0i n-1 |
............................
s0m-1 0 | s0 m-1 1 | . | . | . | s0 m-1 j | . | . | . | s0 m-1 n-1 |
............................
sk-100 | sk-101 | . | . | . | sk-10j | . | . | . | sk-10 n-1 |
............................
sk-1i0 | sk-1i1 | . | . | . | sk-1ij | . | . | . | sk-1i n-1 |
............................
sk-1m-10 | sk-1 m-1 1 | . | . | . | sk-1 m-1 j | . | . | . | sk-1 m-1 n-1 |
. 9.5.
, ( ). , , .
. , (), () ().
.
, (), , , ().
|
|
, n- /++ (n-1) , .
:
[_1][_2]...[_i]...[_n]
;
_i , i- ;
[ ] .
, D(20 30) , , d[0][0], d[0][1], d[1][0], d[i][j], , d[19][29].
D , .
. , S(10 5 15) ( ) s[0][0][0], s[0][0][1], s[0][1][1], s[k][i][j], , , s[9][4][14].
, , . , d[i+2][5], d[i][j-1], s[3][i-1][j+2], s[k-3][i][2*j].
ü ! () .
.
:
= 1 + ,
;
1 ;
.
.
= _1*_2+_2
.. ( ) . , .
= _1*(_2* _3) +
+ _2 * _3 + _3
, , .
ü ! (_1) .
(_i) , .
() . , , . (. 9.6):
|
|
, ( nmax) | ||||||||||||
, (n) | ||||||||||||
, - (m) | , ( mmax) | |||||||||||
. 9.6.
, . (). ( / ), , . . , .
, z z[10][20], m=7, n=12, &z[i][j] = z[0] + i * 20 + j, &z[i][j] = z[0] + i * n + j.
, i-, j- D(2030)
&(d[i][j]) = d[0] + i * 30 + j,
k-, i-, j- S(10515)
&(s[k][i][j]) = s[0][0] + k * (5 * 15) + i * 15 + j
, , , .
. 9.1.
9.1
m | n | i | j | x | xij | yij | |
m | n | i | j | xp | x[i][j] | y[i][j] |
.
#include <stdio.h> /* */
#include <conio.h> /* */
#include <windows.h>
#define M 10 /* */
#define N 12 /* */
main() /* */
{
float x[M][N], y[M][N]; /* */
int i, j, n, m;
char buf[50]; /* */
clrscr();
CharToOem(" m (m<= ",buf); /* */
printf("\n %s %d):",buf,M); /* */
scanf("%d", &m); /* */
CharToOem(" n (n<= ",buf); /* */
printf("\n %s %d):",buf,N); /* */
scanf("%d", &n); /* */
printf("\n n=%d m=%d ", n, m); /* */
for(i = 0; i < m; i++) /* x[i][j]*/
for(j = 0; j < n; j++) /* . x[i][j]*/
{
CharToOem(" ",buf); /* */
printf("\n %s x[%d][%d]:",buf,i+1, j+1); /* */
scanf("%f", & x[i][j]); /* */
}
CharToOem(" X",buf); /* */
printf("\n %s \n",buf); /**/
|
|
for(i = 0; i < m; i++)/* . x[i][j]*/
{
for(j=0; j < n; j++)/* . x[i][j]*/
printf(" %5.2f", x[i][j]);
printf("\n");
}
for(i = 0; i < m; i++ /* . y[i][j]*/
for(j = 0; j < n; j++)/* . y[i][j]*/
y[ i ][ j ] = x[ i ][ j ] / 2.;
CharToOem(" Y",buf); /* */
printf("\n %s \n",buf); /**/
for(i = 0; i < m; i++)/* . y[i][j]*/
{
for(j = 0; j < n; j++) /* . y[i][j]*/
printf(" %5.2f", y[i][j]);
printf("\n");
}
getch();
}
2 3 ;
10. 20. 30. ;
100. 200. 300. .
.
9.1.
.
|
|
(EditN, Edit). (Edit). X Y - (ListBoxXi, ListBoxYi).
, . .
:
;
( ), ;
.
.
strcat.
strcat()
. :
strcat(buf1, buf2)
strcat ;
buf1 () ;
buf2 ;
() .
string.h.
1. buf1 buf2 . buf1 buf2.
2. buf1 buf2 \0.
3. , , ( ).
4. buf1, buf2 buf1. buf1 ( ).
5. (buf2) buf1.
6. . buf1 : sprintf(buf1,"%s","");
7. .
8. () .
str buf:
|
|
#include <string.h> /* */
char str[25], buf[10]; /* */
EditStr->GetText(str, 10); /* str EditStr*/
EditBuf->GetText(buf, 10); /* buf EditBuf*/
strcat(str, buf); /* str str buf*/
str buf 25 10 . str buf EditStr EditBuf . strcat(str, buf); str.
, buf1.
1:
#include <string.h> /* */
char str[25], buf1[10], buf2[5];/* */
EditStr->GetText(str, 10); /* str EditStr*/
EditBuf1->GetText(buf1, 10); /* buf1 EditBuf1*/
EditBuf2->GetText(buf2, 10); /* buf2 EditBuf2*/
strcat(str, buf1); /* str str buf1*/
strcat(str, buf2); /* str str buf2*/
str, buf1 buf2 , 25, 10 5 , . , str, buf1 buf2 EditStr, EditBuf1 EditBuf2 . strcat(str, buf1); strcat(str, buf2); str, buf1 buf2. str.
2: .
#include <string.h> /* */
char str[50] = , buf[10];/*
*/
for(j = 0; j < 5; j++) /* buf str*/
{
EditBuf->GetLine(buf, 10, j); /* buf */
strcat(str, buf); /* str str buf*/
}
str buf 50 10 str . EditBuf->GetLine (buf, 10, j); buf j- EditBuf. strcat(str, buf); , buf, str.
.
#include<stdio.h>
#include<stdlib.h>
#include <string.h>
void TSumprDlgClient::Ok()
{
// INSERT>> Your code here.
float x[M][N], y[M][N]; /* */
int i, j, n, m;
char buf[30],buf1[90]=" "; /* */
ListBoxYi->ClearList(); /* */
ListBoxXi->ClearList(); /* */
EditN->GetText(buf, 10); /* */
n = atoi(buf); /* */
EditM->GetText(buf, 10); /* */
m = atoi(buf); /* */
for(i = 0; i < m; i++) /* . x[i][j] */
for(j = 0; j < n; j++) /* . x[i][j] */
{
EditX->GetLine(buf, 30, i*n+j); /* */
x[i][j]=atof(buf); /* */
}
for(i = 0; i < m; i++) /* . x[i][j]*/
{
for(j = 0; j < n; j++)/* . x[i][j]*/
{
sprintf(buf,"%11.3f",x[i][j]); /* */
strcat(buf1, buf); /**/
}
ListBoxXi->AddString(buf1); /* xi*/
sprintf(buf1,"%s","");
}
for(i = 0; i < m; i++)/* . y[i][j]*/
for(j = 0; j < n; j++) /* . y[i][j]*/
y[ i ][ j ] = x[ i ][ j ] / 2.;
for(i = 0; i < m; i++)/* . y[i][j]*/
{
for(j = 0; j < n; j++)/* . y[i][j]*/
{
sprintf(buf,"%11.6f",y[i][j]); /* */
strcat(buf1, buf); /**/
}
ListBoxYi->AddString(buf1); /* yi*/
sprintf(buf1,"%s","");
}
}
3 2 ;
10. 20. 30. ;
100. 200. 300. .
.
9.2.