Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 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--)

Date: 2015-10-19; view: 480; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.006 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию