Разработать и реализовать алгоритм,сравнивающий каждый элемент массива из 20 целых чисел с его правым соседом - C (СИ)
Формулировка задачи:
Разработать и реализовать алгоритм,сравнивающий каждый элемент массива из 20 целых чисел с его правым соседом и меняющий их местами,если они не совпадают.
Решение задачи: «Разработать и реализовать алгоритм,сравнивающий каждый элемент массива из 20 целых чисел с его правым соседом»
textual
Листинг программы
#include <stdio.h>
#define N 20
void Function (int *mas)
{
int temp;
int i;
for (i=0; i<N-1; i++)
{
if (mas[i]!=mas[i+1])
{
temp = mas[i];
mas[i] = mas[i+1];
mas[i+1] = temp;
}
}
}
void Show (int *mas)
{
int i;
for (i=0; i<N; i++)
printf ("%d ",mas[i]);
printf ("\n");
}
int main()
{
int a[N]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20};
Function (a);
Show (a);
return 0;
}
Объяснение кода листинга программы
В данном коде реализована сортировка массива из 20 целых чисел методом сдвига вправо.
- #include
— подключаем стандартную библиотеку для работы с консолью - #define N 20 — определяем размер массива (20 элементов)
- *void Function (int mas)** — функция, которая будет сортировать массив
- int temp; — временная переменная для обмена значениями
- int i; — счётчик цикла
- for (i=0; i<N-1; i++) — цикл выполняющийся от 0 до N-1 (20-1=19 итераций)
- if (mas[i]!=mas[i+1]) — проверяем на неравенство соседних элементов
- { — если условие выполняется
- temp = mas[i]; — сохраняем значение первого элемента во временную переменную
- mas[i] = mas[i+1]; — меняем значения первого элемента и следующего за ним
- mas[i+1] = temp; — восстанавливаем значение первого элемента
- } — закрываем блок условий
- *void Show (int mas)** — функция для вывода отсортированного массива на экран
- int i; — счётчик цикла
- for (i=0; i<N; i++) — цикл выполняющийся от 0 до N (20 итераций)
- printf (
%d,mas[i]); — выводим значение элемента массива с пробелом после него - printf (
\n); — выводим символ новой строки - int main() — функция, с которой начинается выполнение любой программы на языке C
- int a[N]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20}; — создаём массив из 20 целых чисел
- Function (a); — вызываем функцию сортировки для массива a
- Show (a); — вызываем функцию вывода отсортированного массива на экран
- return 0; — завершаем выполнение программы