Работа с одномерными массивами на языке Си

  • Вид работы:
    Практическое задание
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    464,87 Кб
  • Опубликовано:
    2015-06-03
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Работа с одномерными массивами на языке Си

МІНІСТЕРСТВО ОСВІТИ І НАУКИ, молоді та спорту УКРАЇНИ

Національний аерокосмічний університет ім. М.Є. Жуковського

“Харківський авіаційний інститут”

Кафедра комп’ютерних систем та мереж









Лабораторна робота № 3

з дисципліни “Обчислювальна техніка та програмування”

Робота з одномірними масивами в мові С

Виконав Момот О. О.

Перевірив Дужа В. В.





2013

1. Задание №1


Дан массив А ненулевых целых чисел размера 10. Вывести значение первого из тех его элементов Ак, которые удовлетворяют неравенству Ак<A10. Если таких элементов нет, то вывести 0.

 

.1 Алгоритм программы




1.2 Тестовые наборы


№ теста

Ввод элементов массива

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

1

1 2 3 4 5 6 7 8 9 5

1

2

5 4 3 -5 6 7 7 8 -1 1

-5

3

7 7 7 7 8 8 9 4 4 3

0

4

0 2 3 4 0 5 6 0 7 0

Ошибка! Был введен ‘0’! Введите корректные данные:

1.3 Код программы


#include <stdio.h>

#include <stdlib.h>

#include <locale.h>

#include <windows.h>

#include <time.h>

#define MAX 10enter_array (int []);rand_array (int []);output (int []);vis (int []);menu (int []);main()

{(LC_CTYPE, "rus");mas[MAX];(mas);(mas);("\n");("pause");0;

}enter_array (int mas[])

{("Введите элементы массива: ");(int i = 0; i < MAX; i++)

{("%i", &mas[i]);(mas[i] == 0)

{("Ошибка! Был введен '0'! Введите корректные данные: ");("%i", &mas[i]);stdin;

}

}("\n");;

}rand_array (int mas[])

{(time (NULL));a, b;("Ввод начала диапазона: ");(scanf("%i", &a) != 1 || a == 0)

{("Ошибка! Введите корректные данные: ");stdin;

}("Ввод конца диапазона: ");(scanf("%i", &b) != 1 || b == 0)

{("Ошибка! Введите корректные данные: ");stdin;

}(int i = 0; i < MAX; i++)

{[i] = rand()%(b - a + 1) + a;(mas[i] == 0)

{[i] = rand()%(b - a + 1) + a;stdin;

}

};

}output (int mas[])

{("Элементы массива: ");(int i = 0; i < (MAX); i++)("%i ", mas[i]);("\n");;

}vis (int mas[])

{flag;= false;(int i = 0; i < (MAX-1); i++)

{(mas[i] < mas[9])

{("Первый элемент массива удовлетворяющий условию - %i", mas[i]);= true;;

}

}(false == flag)("0");;

}menu (int mas[])

{menu;("Меню\n1 - Для ручного ввода массива\n2 - Для рандомного ввода массива\nПоле ввода: ");(scanf("%i", &menu) != 1 || menu >= 3 || menu <= 0)

{("Ошибка! Введите корректные данные: ");stdin;

}(menu)

{1: enter_array (mas);;2: rand_array (mas);(mas);;

};

}


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


№ теста

Ввод элементов массива

Результат

Вывод

1 2 3 4 5 6 7 8 9 5

1

Тест пройден

2

5 4 3 -5 6 7 7 8 -1 1

-5

Тест пройден

3

7 7 7 7 8 8 9 4 4 3

0

Тест пройден

4

0 2 3 4 0 5 6 0 7 0

Ошибка! Был введен ‘0’!

Тест пройден

Программа прошла тестирование: в результате выполнения тестов программа выдала ожидаемые результаты. Программа - работоспособна.

массив неравенство работоспособность тестирование

2. Задание №2

Подсчитать количество отрицательных элементов массива. Вывести на дисплей полученное значение. После этого изменить исходный массив следующим образом: переместить все положительные элементы массива в начало, не изменяя порядка их следования в исходном массиве. Порядок следования не перемещаемых элементов не изменять. Вывести на дисплей количество перемещенных элементов.

2.1 Алгоритм программы





.2 Тестовые наборы

№ теста

Ввод элементов массива

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



Отрицательных элементов

Сортированный массив

Количество перемещенных элементов

1

-1 -2 -3 -4 -5 -6 -7 -8 -9 1

9

1 -1 -2 -3 -4 -5 -6 -7 -8 -9

1

2

-1 -2 3 4 5 6 -7 -8 9 1

4

3 4 5 6 9 1 -1 -2 -7 -8

6

3

-1 -2 3 -4 -5 6 -7 -8 9 1

6

3 6 9 1 -1 -2 -4 -5 -7 -8

4

4

-1 2 3 4 5 6 7 8 9 -1

2

2 3 4 5 6 7 8 9 -1 -1

8

2.3 Код программы

#include <stdio.h>

#include <stdlib.h>

#include <locale.h>

#include <windows.h>

#include <time.h>enter_array (int [], int, int []);rand_array (int [], int, int []);sum_otr (int [], int);sort (int [], int, int []);output (int [], int);menu (int [], int, int []);main ()

{(LC_CTYPE, "rus");const max_size = 100;mas[max_size];mas2[max_size];size;("Введите размер массива: ");(scanf("%i", &size) != 1 || size == 0 || size > 100)

{("Ошибка! Введите корректные данные: ");stdin;

}(mas, size, mas2);_otr (mas, size);("Сортированый массив");(mas, size, mas2);(mas, size);("pause");0;

}enter_array (int mas[], int size, int mas2[])

{("Введите элементы массива: ");(int i = 0; i < size; i++)

{("%i", &mas[i]);[i] = mas[i];

};

}rand_array (int mas[], int size, int mas2[])

{(time (NULL));a, b;("Ввод начала диапазона: ");(scanf("%i", &a) != 1 || a == 0)

{("Ошибка! Введите корректные данные: ");stdin;

}("Ввод конца диапазона: ");(scanf("%i", &b) != 1 || b == 0)

{("Ошибка! Введите корректные данные: ");stdin;

}(int i = 0; i < size; i++)

};

}sum_otr (int mas[], int size)

{sum = 0;(int i = 0; i < size; i++)

{(mas[i]<0)

{++;

}

}("Количество отрицательных элементов: %i", sum);("\n");0;

}sort (int mas[], int size, int mas2[])

{kol = 0, kol2 = 0;k, i;(i = 0; i < size; i++)(int j = 0; j < size-1; j++)(mas[j] <= 0 & mas[j + 1] > 0)

{= mas[j];[j] = mas[j + 1];[j + 1] = k;

}(i = 0; i < size; i++)(mas[i] > 0)++;(i = 0; i < (kol+1); i++)(mas2[i] == mas[i])++;= kol - kol2;("\nКоличество перемещенных элементов: %i", kol);("\n");;

}output (int mas[], int size)

{("Элементы массива: ");(int i = 0; i < size; i++)("%i ", mas[i]);("\n");;

}menu(int mas[], int size, int mas2 [])menu;("Меню\n1 - Для ручного ввода массива\n2 - Для рандомного ввода массива\nПоле ввода: ");(scanf("%i", &menu) != 1 || menu >= 3 || menu <= 0)

{("Ошибка! Введите корректные данные: ");stdin;

}(menu)

{1: enter_array (mas, size, mas2);;2: rand_array (mas, size, mas2);(mas, size);;

};

}

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

№ теста

Ввод элементов массива

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

Вывод



Отриц. Элем-в

Сортированный массив

Перемещ. Эл-тов


1

-1 -2 -3 -4 -5 -6 -7 -8 -9 1

9

1 -1 -2 -3 -4 -5 -6 -7 -8 -9

1

Тест пройден

2

-1 -2 3 4 5 6 -7 -8 9 1

4

3 4 5 6 9 1 -1 -2 -7 -8

6

Тест пройден

3

-1 -2 3 -4 -5 6 -7 -8 9 1

6

3 6 9 1 -1 -2 -4 -5 -7 -8

4

Тест пройден

4

-1 2 3 4 5 6 7 8 9 -1

2

2 3 4 5 6 7 8 9 -1 -1

8

Тест пройден

2.5 Вывод о работоспособности программы


Программа прошла тестирование: в результате выполнения тестов программа выдала ожидаемые результаты. Программа - работоспособна.

Похожие работы на - Работа с одномерными массивами на языке Си

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!