Заменить значения элементов с максимальным и минимальным значением на среднее - C (СИ)
Формулировка задачи:
Нужно решить задачу с немного другим условием, вот сама задача и код (рабочий):
Объявить массив целых чисел в диапазоне -100 – 100 и заполнить его случайными значениями. Во всех последовательностях положительных чисел заменить значения элементов с максимальным и минимальным значением на среднее для этой последовательности.
И нужно переделать эту программу с такими условиями: Размер массива определяется в начале выполнения программы как случайное число в диапазоне 50 – 200. В тексте программы запрещается применять операцию индексации.
Помогите! Буду очен благодарен.
#include <stdio.h> #include <conio.h> #include <stdlib.h> void main() { int Ar[200]; int i,k,min,max,sr; randomize(); for (i=0;i<200;Ar[i++]=random(200)-100); printf("Nachalnyi massiv:\n"); for (i=0;i<200;printf("%3d ",Ar[i++])); k=0; sr=0; for (i=0;i<200;i++) { if (Ar[i]>0){ sr+=Ar[i];k++; }} sr=(float)sr/k; min=100;max=0; for(i=0;i<200;i++) { if (Ar[i]>0){ if(Ar[i]<min) min=Ar[i]; if (Ar[i]>max) max=Ar[i]; }} printf("\n\t\t\tSrednee =%3d; Min =%3d; Max =%3d\n",sr,min,max); for (i=0;i<200;i++) { if (Ar[i]==min) Ar[i]=sr; if (Ar[i]==max) Ar[i]=sr; } printf("Massiv-rezultat:\n"); for (i=0;i<200;printf("%3d ",Ar[i++])); getch(); }
Решение задачи: «Заменить значения элементов с максимальным и минимальным значением на среднее»
textual
Листинг программы
#include <stdio.h> #include <stdlib.h> #include <time.h> int main() { srand(time(NULL)); int size = rand() % 201+50; float array[size]; float sum; int counter; int i, j, min, max; for ( i = 0; i < size; i++ ) { array[i] = rand() % 201-100; printf("%g ", array[i]); } for ( i = 0; i < size; i++ ) { if ( array[i] >= 0 ) { min = i; max = i; for ( j = i, counter = 0, sum = 0; array[j] >= 0 && j < size; j++, counter++ ) { if ( array[min] > array[j] ) { min = j; } if ( array[max] < array[j] ) { max = j; } sum += array[j]; } sum /= counter; array[min] = sum; array[max] = sum; i = j; } } printf("\nNew array:\n"); for ( i = 0; i < size; i++ ) { printf("%g ", array[i]); } return 0; }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д