Добавлен: 23.11.2023
Просмотров: 15
Скачиваний: 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;
}