Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
Поиск минимального (максимального) элемента в массивеУсловно первый (с номером 0) элемент массива считается минимальным (максимальным), затем в цикле путем сравнения находим фактическое значение. min=A[0]; // начальное значение минимума imin=0; // начальное значение индекса for (i=0; i<n; i++) if (A[i]<min) { min=A[i]; imin=i; } printf (“min=A[%d]=%d\n”, imin, A[imin]); Если в массиве несколько элементов имеют минимальное значение, то в imin будет запоминаться индекс первого из них. Если проверять условие A[i]<=min, то – последнего. Для поиска максимального элемента нужно в улови заменить знак < на знак >. Примеры решения 1. Ввести массив из n целых чисел. Вычислить сумму (произведение) и количество элементов, кратных 3 и не кратных 2, или вывести сообщение «Таких значений нет». #include <stdio.h> #include<conio.h> void main() { const int n=10; int a[n], s=0, k=0, i; // s=0; k=0; - начальное значение суммы и количества /* для произведения вместо s задать long p=1; начальное значение произведения; long, т.к. произведение быстро растет и выходит за пределы типа int (32767) */ clrscr(); puts("Vvedite massiv"); for (i=0; i<n; i++) { printf("a[%d]=",i+1); scanf("%d",&a[i]); } for (i=0; i<n; i++) // проверка на кратность 3 и не кратность 2 // if (a[i]%3==0 && a[i]%2!=0) // % - остаток от деления { s=s+a[i]; // накапливание суммы // p=p*a[i]; накапливание произведения k++; // накапливание количества } puts("\nResult"); if (k= =0) puts("net"); else // \t – табуляция (запрограммированное число пробелов) printf("s=%d \t k=%d\n",s,k); // или для произведения // printf("p=%ld \t k=%d\n",p,k); // %ld – формат вывода данных типа long (длинный целый) getch(); } Если функция getch(); не используется, то просмотреть результат можно нажатием комбинации клавиш Alt-F5. Проверка, что элемент массива заканчивается заданной цифрой m (ввести с клавиатуры): puts(“Vvedite zadannoe chislo m”); scanf(“%d”,&m); for (i=0; i<n; i++) if (a[i] % 10 = = m) ….. /* остаток от деления на 10 равен последней цифре числа. Если этот остаток равен m, то …*/ Проверка, что элементы массива являются квадратами некоторого заданного числа P (з десь обязательно требуется подключение файла math.h в разделе #include): puts(“Vvedite zadannoe chislo P”); scanf(“%d ”,&P); for (i=0; i<n; i++) if (sqrt(a[i]) = = P) // квадратный корень из элемента массива = P 2. В одномерном массиве из n элементов найти и вывести значение и номер первого отрицательного значения или вывести сообщение об отсутствии отрицательных чисел. При решении данной задачи может потребоваться досрочный выход из цикла (при наличии отрицательного числа), т. е. оператор break. #include <stdio.h> #include<conio.h> #include <stdlib.h> void main() { const int n=10; int a[n], i; int f=0; // флажок указывает на успешность поиска // изначально 0, т. к. еще ничего не найдено // заполним массив случайными числами randomize(); for (i=0; i<n; i++) { a[i]=20 – random(100); printf (“%d\t”, a[i]); } printf (“\n”); // перевод курсора на новую строку экрана // начало поиска for (i=0; i<n; i++) if (a[i]<0) { f=1; //устанавливаем флажок в состояние «истина» printf (“a[%d]=%d\n”, i, a[i]); break; } if (f= =0) puts (“<0 нет”); getch(); } Для поиска значения и номера последнего отрицательного значения массив лучше рассматривать с конца, т. е. при поиске записать for (i=n-1; i>=0; i--)
|