Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

prezentatsia_S

.pdf
Скачиваний:
12
Добавлен:
27.03.2015
Размер:
509.09 Кб
Скачать

Массивы

тип имя_массива[размер1][размер2]...[размерN];

Одномерные массивы

float arr[10]; arr[0] … arr[9]

0

1

2

3

4

5

6

7

8

9

 

 

 

 

 

 

 

 

 

 

 

arr

 

 

 

 

 

 

 

 

 

 

1. double d[ ]={1.0, 2.0, 3.0, 4.0, 5.0};

 

 

 

 

 

 

 

2. int M[8]={8, 4, 2};

 

 

 

 

 

 

 

 

 

 

 

 

int A[10];

0

1

 

2

3

4

5

6

7

8

9

А[4]=1;

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

for (i=0; i<10;i++) scanf(“%d”,&A[i]);

// ввод массива целых чисел

for (i=0; i<10;i++) printf(“%d ”,A[i]);

// вывод массива целых чисел

Гаврилов А.В.

41

НГТУ, кафедра АППМ

Пример:

#include <stdio.h> void main(void)

{

int i;

int mas[10]; printf("\nEnter array:\n"); for(i=0;i<10;i++)

scanf("%d",&mas[i]);

for(i=0;i<10;i++) if (!(mas[i]%3))

printf("%d\t",mas[i]);

}

Гаврилов А.В. конец

 

НГТУ, кафедра АППМ

начало

ввод А[i] i=0,9

i=0, 9, 1

нет

A[i] % 3==0

да

вывод A[i]

42

Некоторые приемы алгоритмизации

Обмен значениями между двумя переменными А и В

С = А А = В В = С

А=А+В В=А-В А=А-В

Гаврилов А.В.

43

НГТУ, кафедра АППМ

Вычисление произведения (суммы) чисел

(основаны на накоплении результата в переменной)

44

X = x1 + x2 +... + x10

=

начало

 

 

 

10

 

 

 

=

1

10

 

 

 

 

xi

 

ввод хi

 

 

10 i=1

 

i=0, 9

X=S/10

S=0

вывод Х

 

 

i=0,9, 1

 

конец

 

S=S+xi

Гаврилов А.В.

45

НГТУ, кафедра АППМ

Многомерные массивы и операции с ними

int a[2][3];

 

 

1

 

 

6

[1

2

5]

 

11

[6

7

2]

 

 

double A[3][2]={{10,20}, {30,40}, {50,60}}; double A[3][2]={10,20,30,40,50,60};

int A[3][5]={1,2,3,4,5,6,7,8,9,10,11};

 

int A[3][5]={{1,2,3},{4,5,6,7,8},{9,10,11}};

 

1

2

 

int arr[][3]={1, 2, 3,

 

 

 

 

4

5

4, 5, 6,

 

 

 

 

9

10

7, 8, 9};

 

 

Гаврилов А.В.

 

 

 

 

НГТУ, кафедра АППМ

 

2

3

4

5

7

8

9

10

3

6 7 8

11

46

int arr[2][3];

for (i=0; i<2;i++)

for (j=0; j<3;j++) scanf(“%d”,&arr[i][j]);

for (i=0; i<2;i++) { for (j=0; j<3;j++) printf(“%d ”,arr[i][j]);

printf(”\n”);

}

1 2 5

6 7 2

Гаврилов А.В.

47

НГТУ, кафедра АППМ

int a[2][3];

 

 

int at[3][2];

 

 

int i,j;

 

 

printf("Enter array\n");

 

for (i=0;i<2;i++)

 

 

for (j=0;j<3;j++) {

 

 

scanf("%d",&a[i][j]);

 

 

at[j][i]=a[i][j];

 

 

}

 

 

printf("Транспонированный массив\n");

 

for (i=0;i<3;i++) {

 

 

for (j=0;j<2;j++) printf("%d ",at[i][j]);

 

printf("\n");}

Гаврилов А.В.

48

 

НГТУ, кафедра АППМ

 

А[4][5], B[4][5]

for (i=0;i<4;i++)

for (j=0;j<5;j++) C[i][j]=a[i][j]+b[i][j];

A[M][N]

B[N][L]

 

С[M][L]

 

 

const M=3, N=4, L=5;

 

int a[M][N];

 

 

int b[N][L];

 

 

int c[M][L];

 

 

 

 

for(i=0;i<L;i++)

 

for(k=0;k<M;k++)

 

for(j=0;j<N;j++) c[k][i]=c[k][i]+a[k][j]*b[j][i];

49

...

Гаврилов А.В.

НГТУ, кафедра АППМ

 

Символьная информация и строки

0 … 255

-128 … 127

char a, z, symb;

 

Пример: unsigned char ch; scanf("%c",&ch);

printf("вы ввели символ - %c",ch);

char x; x=getchar(); putchar(x);

Гаврилов А.В.

50

НГТУ, кафедра АППМ

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]