![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
Для решения задачи разумно применить следующий метод – последовательный просмотр массива и сравнение значения очередного рассматриваемого элемента с данным. Если значение очередного элемента совпадает с x, то запоминаем его индекс в переменной k.
for(i=0; i<n; i++)
if (A[i]==x) k=i;
Этот способ решения поставленной задачи, безусловно, приводит к цели, но обладает рядом существенных недостатков:
· если значение x встречается в массиве несколько раз, то найдено будет последнее из них;
· после того, как нужное значение уже найдено, массив просматривается до конца, то есть всегда выполняется n сравнений.
Разумно прекратить просмотр сразу после обнаружения заданного элемента или до конца массива. Таким образом, цикл может выглядеть так:
for(i=0; i<n; i++)
if (A[i]==x) {k=i; break;}
или так:
i=0;
while (i<n && A[i]!=x) i++;
Примечание. Если в массиве есть несколько элементов, совпадающих с элементом x, в результате работы программы будет найден первый из них, то есть элемент с наименьшим индексом.
#include <stdio.h>
void main()
{
const int n=10;
int i, A[n], x;
// ввод массива А
printf("Введите искомый элемент\n");
scanf("%d", &x);
i=0;
while (i<n && A[i]!=x) i++;
if (i<n) printf("Индекс искомого элемента: %d\n", i);
else printf("Данный элемент в массиве отсутствует\n");
}
2) Поиск всех элементов, удовлетворяющих условию
Пример. Программа вывода положительных элементов массива и их индексов.
#include <stdio.h>
void main()
{
const int n=10;
int i, A[n];
// ввод массива А
printf("Положительные элементы массива:\n");
for(i=0; i<n; i++)
if (A[i]>0) printf("A[%d]=%d\n", i, A[i]);
}
5. Формирование массива по заданному условию
Пример. Сформировать новый массив В, включив в него все положительные элементы массива А и вывести его на экран.
Дата публикования: 2015-01-23; Прочитано: 249 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!