Если в одномерном массиве имеются три подряд идущих одинаковых элемента, то переменной R присвоить значение 1 - C (СИ)
Формулировка задачи:
1)Если в одномерном массиве имеются три подряд идущих одинаковых элемента,то переменной R присвоить значение 1.количество элементов-10
2)Дана квадратная матрица размером 6х6.На побочной диагонали найти максимальный и минимальный элементы и поменять местами соответсвующие столбцы.
Помогите пожалуйста написать эти программы на Си.Заранее спасибо
Решение задачи: «Если в одномерном массиве имеются три подряд идущих одинаковых элемента, то переменной R присвоить значение 1»
textual
Листинг программы
#include <stdio.h>
#include <windows.h>
#include <conio.h>
int main()
{
float array[10], k;
int r=0, i;
puts("Введите элементы массива");
for(int i=0; i<10; i++)
scanf("%f",&array[i]);
k=array[0];
for(i=0; i<8; i++)
{
if(k==array[i+1]&&k==array[i+2])
{
r=1;
printf("%d",r);
}
else
k=array[i+1];
}
system("pause");
return(0);
}
Объяснение кода листинга программы
В этом коде:
- Объявлены переменные:
array- массив из 10 элементов типаfloat, в который с клавиатуры будут введены числа;k- переменная типаint, в которую сначала будет записано первое число из массива;r- переменная типаint, в которую будет записано значение 1, если найдётся последовательность из трёх одинаковых чисел, и 0 в противном случае.
- Введён цикл, в котором будут сравниваться числа из массива:
- В первой итерации в
kзаписывается первое число из массиваarray. - Далее, пока не будут проверены 8 чисел (так как индексы в C начинаются с 0), выполняется следующий код:
- В первой итерации в
- Если следующие три числа в массиве равны
k, то:- Значение переменной
rменяется на 1; - Значение переменной
rвыводится на экран.
- Значение переменной
- Если следующее число в массиве не равно
k, то:- Значение
kменяется на это число.
- Значение
- После завершения цикла система вызывает паузу, чтобы пользователь мог увидеть результат, а затем программа завершается.
В результате выполнения программы на экран будет выведено значение переменной
r, которое станет 1, если в массиве найдётся последовательность из трёх одинаковых чисел, и 0 в противном случае.