Файл: Двумерные массивы.docx

ВУЗ: Не указан

Категория: Решение задач

Дисциплина: Не указана

Добавлен: 23.11.2023

Просмотров: 16

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Балтийский государственный технический университет


«ВОЕНМЕХ» им. Д. Ф. Устинова

Кафедра «»



Практическая работа №6

по дисциплине «Информатика: Основы программирования» на тему «Двумерные массивы»



Выполнил:

Студент

Группа


Преподаватель:

Санкт-Петербург 2022 г.


Задача1.




Исходныеданные:

Двумерный массив B[7][11], тип int.

Результирующиеданные:

Количество пар одинаковых элементов.

Вспомогательныепеременные:

Целочисленные переменные типа int i, j для итерации;
Таблица тестирования:


Входные данные

Ожидаемый результат

Результат работы программы

1 3 4 9 6 7 3 8 8 2 6

1 3 8 2 4 1 4 3 6 0 1

7 2 2 7 6 0 6 5 0 7 8

6 8 7 3 4 5 1 6 4 3 0

2 7 6 4 2 1 2 2 3 1 7

5 8 3 7 7 1 0 4 9 6 3

6 2 7 4 3 5 0 8 7 2 6

8

8

6 3 7 0 0 1 9 3 7 1 5

9 6 3 5 5 8 7 5 6 1 8

7 2 9 8 0 1 5 5 7 1 0

4 3 2 8 4 8 7 8 3 7 6

8 4 3 6 3 8 3 6 6 0 9

7 0 9 1 5 4 8 8 6 5 3

9 3 8 7 2 6 0 1 2 8 5

11

11

9 3 5 4 1 2 9 1 3 5 1

4 7 0 0 5 0 7 7 9 2 2

0 6 2 7 7 5 4 5 6 4 0

3 8 3 7 9 4 2 5 5 6 4

7 9 9 7 6 6 8 1 1 8 7

5 7 5 0 2 2 9 6 4 4 6

7 4 5 1 6 2 8 5 8 7 6

16

16

Текст программы


#include

#include

#include
const int n = 7;

const int m = 11;
int array[7][11];
void randarray()

{

srand(time(NULL));

for (int i = 0; i < n; i++)

for (int j = 0; j < m; j++)

array[i][j] = rand() % 10;

}
int main()

{

int total = 0;

randarray();
for (int i = 0; i < n - 1; i++) {

for (int j = 0; j < m - 1; j++) {

if (array[i][j] == array[i][j + 1])

total++;

if (array[i][j] == array[i + 1][j])

total++;

}

}
for (int i = 0; i < n - 1; i++) {

if (array[i][m - 1] == array[i + 1][m - 1])

total++;

}
for (int j = 0; j < m - 1; j++) {

if (array[n - 1][j] == array[n - 1][j + 1])

total++;

}
for (int i = 0; i < n; i++) {

for (int j = 0; j < m; j++) {

printf("%d ", array[i][j]);

}

printf("\n");

}

printf("\n\ntotal = %d\n", total);

}



Задача2.



Исходныеданные:

Двумерный массив A[10][10], тип int.

Результирующиеданные:

Двумерный массив A[10][10], тип int расставленный по условия задачи

Вспомогательныепеременные:

Переменные i, j для итерации, тип int. Таблица тестирования:


Входные данные

Ожидаемый результат и результат работы программы

1 2 3 4 5 6 7 8 9 10

0 1 2 3 6 9 10 0 1 2

2 2 2 2 2 2 2 2 2 2

3 6 3 6 3 6 3 6 3 9

-1 0 1 2 3 4 5 6 7 8

10 10 10 10 10 10 10 10 10 10

-100 0 0 0 0 0 0 0 0 0 0

4 5 6 4 5 6 4 5 6 0

99 5 6 7 0 1 23 6 5 5

15 0 12 13 13 13 13 13 14 15

-100 0 0 0 0 0 0 0 0 0

-1 0 1 2 3 4 5 6 7 8

0 1 2 3 6 9 10 0 1 2

0 4 5 6 4 5 6 4 5 6

0 99 5 6 7 0 1 23 6 5

1 2 3 4 5 6 7 8 9 10

2 2 2 2 2 2 2 2 2 2

3 6 3 6 3 6 3 6 3 9

5 15 0 12 13 13 13 13 13 14

10 10 10 10 10 10 10 10 10 10


Текст программы

#include
const int N = 10;

const int M = 10;

int main(void)

{

int barr[10][10] = {0};
for (size_t i = 0; i < M; i++) {

for (size_t j = 0; j < N; j++) {

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

}

}

int arr[10][10];
for (size_t i = 0; i < M; i++) {

for (size_t j = 0; j < N; j++) {

arr[i][j] = barr[j][i];

}

}

for (int i = 0; i < N - 1; i++)

for (int j = i + 1; j < N; j++)

if (arr[0][i] > arr[0][j])

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

arr[k][i] += arr[k][j];

arr[k][j] = arr[k][i] - arr[k][j];

arr[k][i] -= arr[k][j];

}
for (int i = 0; i < N; i++) {

for (int j = 0; j < M; j++)

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

puts("");

}

return 0;

}