Файл: Отчет по лабораторной работе 2 по дисциплине Алгоритмизация и программирование.docx
Добавлен: 03.12.2023
Просмотров: 32
Скачиваний: 1
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Министерство образования и науки Российской Федерации
ФГАОУ ВО «Уральский федеральный университет
имени первого Президента России Б.Н. Ельцина»
Департамент радиоэлектроники и связи
Работа с массивами
Отчет по лабораторной работе №2
по дисциплине «Алгоритмизация и программирование»
Вариант №14
Студент 27.04.2023 Н.С.Майер
дата подпись
Группа РИ - 121101
Преподаватель В.А. Чечеткин
Екатеринбург 2023
-
Одномерные массивы
Условие задачи
По заданному символьному массиву S сформировать массив двоичных элементов B. Элементу массива Bi присвоить значение 1, если Si является цифрой, и 0 – в противном случае.
Постановка задачи
Исходными данными для этой задачи является массив символов S (формируется с помощью консоли). Выходными данными является двоичный массив B, значения элементов которого зависит от элементов массива S.
Метод решения
Формируем массив S с помощью консоли. Создаем новый массив B без инициализации. Далее проверяем циклом каждый элемент S, является ли тот цифрой, если да, то элементу B того же индекса присваиваем значение 1, в противном случае 0.
Схема алгоритма
Создание двоичного массива B
1
1
Введите размер массива S
N
for i = 0 to N
S[i]
for i = 0 to N
Да
Нет
S[i]=1 V S[i]=2 V S[i]=3 V S[i]=4 V S[i]=5 V S[i]=6 V S[i]=7 V S[i]=8 V S[i]=9 V S[i]=0
B[i]=1
B[i]=0
B
Конец
Текст программы
#include
#include
int main() {
int n,i;
printf("Mayer Natalia Sergeevna AT-02\nCreating a binary array B.\n");
printf("Enter array dimension S.\nN=");
scanf("%d", &n);
char S[n];
int B[n];
for (int i = 0; i < n; i++)
{
printf("S[%d]=",i);
scanf("%s", &S[i]);
}
printf("S[%d]=",n);
for (i = 0; i
printf("%4c",S[i]);
printf("\n\nB[%d]=",n);
for (int i = 0; i < n; i++)
{
if ((S[i]=='0')|(S[i]=='1')|(S[i]=='2')|(S[i]=='3')|(S[i]=='4')|(S[i]=='5')|(S[i]=='6')|(S[i]=='7')|(S[i]=='8')|(S[i]=='9'))
B[i]=1;
else B[i]=0;
}
for (i = 0; i
printf("%4d",B[i]);
}
Результаты работы программы
Значение N | Массив S | Вывод(массив B) |
2 | 52, l | B[2]={ 1 0} |
3 | 67, k, o | B[3]={ 0 0 0} |
4 | s, l, n, m | B[4]={0 0 0 0} |
3 | 6, 2, 0 | B[3]={1 1 1} |
5 | 5, 3, u, d, 0 | B[5]={1 1 0 0 1} |
2. Двумерные массивы
Условие задачи
Определить, сколько раз в двумерном массиве встречается символ со значением X.
Постановка задачи
Исходными данными является двумерный массив A (формируется с помощью консоли). Выходные данные – count (количество вхождений символа X). Это натуральное число, выводится на экран.
Метод решения
По ходу решения задачи формируем двумерный массив с помощью двух циклов for. Далее перебираем уже другим циклом все элементы A, и увеличиваем значение count на один каждый раз, когда элемент - X.
Схема алгоритма
Подсчет вхождений символа X
Введите размер массива A
1
1
N,M
count=0
for i = 0 to N
for j = 0 to M
A[i][j]
for i = 0 to N
for j = 0 to M
Нет
A[i][j]=X
Да
count=count+1
count
Конец
Код программы
#include
#include
int main() {
int n,m,count=0;
printf("Mayer Natalia Sergeevna AT-02\nCount the number of occurrences of simbol X.\n");
printf("Enter matrix dimension.\nN=");
scanf("%d", &n);
printf("M=");
scanf("%d", &m);
char A[n][m];
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
printf("A[%d][%d]=",i,j);
scanf("%s", &A[i][j]);
}
}
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
if (A[i][j]=='X')
count+=1;
}
}
printf("In the matrix the simbol X occurs %d times.",count);
}
Результаты программы
Значение N | Значение M | Массив A | Вывод |
2 | 2 | H,X,5,K | In the matrix the simbol X occurs 1 times. |
3 | 2 | K, M, F, R, Y, G | In the matrix the simbol X occurs 0 times. |
2 | 3 | X, X, X, X, X, X | In the matrix the simbol X occurs 6 times. |
1 | 4 | 1, 8, X, 9, X | In the matrix the simbol X occurs 2 times. |
2 | 4 | O, X, E, x, T, 5, 8, e | In the matrix the simbol X occurs 1 times. |