.


:




:

































 

 

 

 


, ,




, ( ). , , . . , , () .

ü ! , .

(a, b) (ssa, ssb) . , . , (a, b, ssa, ssb). () , .

.

(. 9.1.1.2) , .

! . , ( ).

, A(mxn) 10x15,

float a[10][15];

...

func(a[0], m, n, 15);

...

, ,

void func(float *z, int k, int p, int t)

zij

*(z + i * t + j)

, 10.4. . 10.4.

10.4

  m n t s i j aij bij
  m n t s i j a[i][j] b[i][j]

. 10.4

  ssai ssbi mp tp k p ss d sszd zij
  ssa[i] ssb[i] mp tp k p ss d ssz[d] z[i][j]

, . , , :

sum_str(a, m, n, 15, ssa, &mp); sum_str(b, t, s, 7, ssb, &tp);

m, n, t, s , 15 7 A B, &mp &tp .

:

void sum_str(float *z, int k, int p, int pmax, float *ssz, int *d)

k p , pmax Z, *d .

define, .

#include<stdio.h>/* -*/

#include<conio.h>/* getch(), clrscr()*/

#include <windows.h> /* CharToOem*/

#define M 10 /* */

#define N 15 /**/

#define T 9 /**/

#define S 7 /* */

void sum_str(float* z, int k, int p, int pmax, float *ssz, int *d);

main() /* */

{

float ap, bp, a[M][N], b[T][S], ssa[M], ssb[T]; /* */

int i, j, n, m, t, s, mp, tp; /* */

char buf[30];

clrscr();

CharToOem(" n, m, t, s: ",buf);

printf("\n %s \n",buf);

scanf("%d%d%d%d", &m, &n, &t, &s);

printf("\n m=%d n=%d \n t=%d s=%d \n", m, n, t, s);

CharToOem(" A ",buf);

printf("\n %s (%d*%d):\n", buf, m, n);

for(i = 0; i < m; i++)/* a[i][j]*/

for(j = 0; j < n; j++)/* . a[i][j]*/

scanf("%f", a[0] + i * N + j);

CharToOem(" A ",buf);

printf("\n %s \n", buf);

for(i = 0; i < m; i++)/* . a[i][j]*/

{

for(j = 0; j < n; j++)/* . a[i][j]*/

printf(" %6.2f", a[i][j]);

printf("\n");

}

CharToOem(" B ",buf);

printf("\n %s (%d*%d):\n", buf, t, s);

for(i = 0; i < t; i++) /* b[i][j]*/

for(j = 0; j < s; j++) /* . b[i][j]*/

scanf("%f", b[0] + i * S + j);

CharToOem(" B ",buf);

printf("\n %s \n", buf);

for(i = 0; i < t; i++) /* . b[i][j]*/

{

for(j = 0; j < s; j++) /* . b[i][j]*/

printf(" %6.2f", b[i][j]);

printf("\n");

}

sum_str(a[0], m, n, N, ssa, &mp);

CharToOem(" SSA ",buf);

printf("\n %s \n", buf);

for(i = 0; i < mp; i++) /* ssa[ i ] */

printf(" %.2f",ssa[i]);

printf("\n"); /* */

sum_str(b[0], t, s, S, ssb, &tp);

CharToOem(" SSB ",buf);

printf("\n %s \n", buf);

for(i = 0; i < tp; i++) /* ssb[ i ] */

printf(" %.2f",ssb[i]);

printf("\n"); /* */

getch();

}

 

void sum_str(float *z, int k, int p, int pmax, float *ssz, int *d)

{

int i, j; /* */

float ss; /* */

*d = 0;

for(i = 0; i < k; i++) /* . ss*/

{

ss = 0;

for(j = 0; j < p; j++) /* . ss */

{

ss = ss + *(z + i * pmax + j);

}

if(ss >= 0)

{

ssz[*d] = ss;

*d=*d + 1;

}

}

}

3 4 2 3 ;

8.53 9.3 5.7 -3.5

46 -32.1 28.5 -52.6

4.7 56 65 -7.2 ;

1.6 7.3 15

4.2 -10.18 12 .

.

10.7.

.

ListBoxB
ListBoxA

n, m, t, s (EditN, EditM, EditT, EditS). A B (EditA, EditB). ssa ssb - (ListBoxA, ListBoxB, ListBoxSSA, ListBoxSSB).

, . .

.

#include <stdio.h>/* -*/

#define M 10 /* */

#define N 15 /**/

#define T 9 /**/

#define S 7 /* */

void sum_str(float* z, int k, int p, int pmax, float *ssz, int *d);

void TSumprDlgClient::BNClickedOk()

{

// INSERT>> Your code here.

float ap, bp, a[M][N], b[T][S], ssa[M], ssb[T]; /* */

int i, j, n, m, t, s, mp, tp; /* */

char buf[15], buf1[50]="";

ListBoxA->ClearList();

ListBoxB->ClearList();

ListBoxSSA->ClearList();

ListBoxSSB->ClearList();

EditN->GetText(buf,10); /* */

n=atoi(buf); /* n*/

EditM->GetText(buf,10); /* */

m=atoi(buf); /* m*/

EditT->GetText(buf,10); /* */

t=atoi(buf); /* t*/

EditS->GetText(buf,10); /* */

s=atoi(buf); /* s*/

for(i = 0; i < m; i++)/* . a[i][j]*/

for(j = 0; j < n; j++)/* . a[i][j]*/

{

EditA->GetLine(buf, sizeof(buf),i*n+j);

a[i][j] = atof(buf);

}

for(i = 0; i < m; i++)/* . a[i][j]*/

{

strcpy(buf1, "");

for(j = 0; j < n; j++)/* . a[i][j]*/

{

sprintf(buf,"%.2f ", a[i][j]);

strcat(buf1, buf); /* buf buf1*/

}

ListBoxA->AddString(buf1);

}

for(i = 0; i < t; i++)/* . b[i][j]*/

for(j = 0; j < s; j++)/* . b[i][j]*/

{

EditB->GetLine(buf, sizeof(buf),i*s+j);

b[i][j] =atof(buf);

}

for(i = 0; i < t; i++)/* . b[i][j]*/

{

strcpy(buf1, ""); /* buf1*/

for(j = 0; j < s; j++) /* . b[i][j]*/

{

sprintf(buf,"%.2f ", b[i][j]);

strcat(buf1, buf); /* buf buf1*/

}

ListBoxB->AddString(buf1);

}

sum_str(a[0], m, n, N, ssa, &mp);

for(i = 0; i < mp; i++) /* ssa[ i ] */

{

sprintf(buf,"%.2f ", ssa[i]);

ListBoxSSA->AddString(buf);

}

sum_str(b[0], t, s, S, ssb, &tp);

for(i = 0; i < tp; i++) /* ssb[ i ] */

{

sprintf(buf,"%.2f ", ssb[i]);

ListBoxSSB->AddString(buf);

}

}

void sum_str(float *z, int k, int p, int pmax, float *ssz, int *d)

{

int i, j; /* */

float ss; /* */

*d = 0;

for(i = 0; i < k; i++)/* ss*/

{

ss = 0;

for(j = 0; j < p; j++) /* . ss */

{

ss = ss + *(z + i * pmax + j);

}

if(ss >= 0)

{

ssz[*d] = ss;

*d=*d + 1;

}

}

}

3 4 2 3 ;

8.53 9.3 5.7 -3.5

46 -32.1 28.5 -52.6

4.7 56 65 -7.2 ;

1.6 7.3 15

4.2 -10.18 12 .

.

10.8.

() , .

() .

, , . (), . () , . () , .

. .

( ). . () .

. () , ( ). , ( ).

/++ . , , . , . , ( ).

. /++ . () . ( ).

. : (), , . () , , (, , ), . .

. , .

, . . - .

1. , ?

3. ?

4. , ?

6. ?

7. ?

8. ?

9. , ?

11. ?

12. ?

13. ?

16. ?

17. , ?

19. ?

20. ?

21. ?

22. ?





:


: 2015-11-23; !; : 520 |


:

:

, .
==> ...

1796 - | 1618 -


© 2015-2024 lektsii.org - -

: 0.064 .