Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <locale.h>
- #include <math.h>
- #define N 18 //(константа)количество элементов в массиве
- int main()
- {
- float mas[N]; //массив
- float proizv = 1; //произведение
- float min, max; //макс. и мин. значения
- float kvadrat; //возведение в квадрат
- float temp; //временная переменная
- int imin, imax; //индексы макс. и мин. значений
- int i, j, p, k; //дополнительные индексы
- char otv; //ответ
- setlocale(LC_ALL,"");
- // ПРИВЕТСТВИЕ
- printf(" Здравствуйте! Вас приветствует программа, \n которая обрабатывает элементы массива.\n");
- do {
- //обновляем массив
- for(i = 0; i < N; i++){
- mas[i] = 0;
- }
- // ВВОД МАССИВА
- printf(" Введите значения 18-ти элементов массива:\n");
- for(i = 0; i < N; i++){
- printf(" %d-й элемент: ", i);
- scanf(" %f", &mas[i]);
- }
- // НАХОДИМ ПРОИЗВЕДЕНИЕ
- for(i = 0; i < N; i++){
- if(mas[i] != 0){
- if(i % 3 == 0){
- proizv *= mas[i];
- }
- }
- }
- printf("\n 1) Произведение (ненулевых) элементов массива, \n находящихся на позициях, кратных числу 3 равна %.f!", proizv);
- // МАКС. И МИН. ЗНАЧЕНИЯ, КВАДРАТЫ ЭЛЕМЕНТОВ МЕЖДУ НИМИ
- min = mas[0];
- max = min;
- for (i = 0; i < N; ++i) {
- if (mas[i] > max){
- max = mas[i];
- imax = i;
- }
- if (mas[i] < min){
- min = mas[i];
- imin = i;
- }
- }
- printf("\n 2) Минимальное значение: %.2f", min);
- printf("\n Максимальное значение: %.2f", max);
- printf("\n Квадраты всех чисел, расположенных между минимальным и \n максимальным значениями равны:");
- if(imax < imin){
- for(p = imax; p <= imin; p++){
- kvadrat = pow(mas[p], 2);
- printf(" Квадрат: %.f", kvadrat);
- }
- }
- else {
- for(k = imin; k <= imax; k++){
- kvadrat = pow(mas[k], 2);
- printf("\n Квадрат: %.f", kvadrat);
- }
- }
- // ПО ВОЗРАСТАНИЮ
- for (i = 0; i < N - 1; i++){
- for (j = 0; j < N - 1; j++){
- if (j % 3 != 0){
- if (mas[j] > mas[j + 1]){
- temp = mas[j];
- mas[j] = mas[j + 1];
- mas[j + 1] = temp;
- }
- }
- }
- }
- printf("\n 3) Упорядоченные по возрастанию элементы, находящиеся на местах, \n не кратных числу 3: \n ");
- for (i = 0; i < N; i++){
- printf("%.f ", mas[i]);
- }
- // повторить?
- printf("\n Хотите повторить все сначала?(y/n)");
- scanf(" %c", &otv);
- printf("\n");
- } while(otv == 'y');
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement