С наступающим Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы
Pascal ABC
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
HACbKA
1 / 1 / 0
Регистрация: 10.06.2012
Сообщений: 54
1

Написать функцию int Search ( double A[], int n , double x), которая находит в массиве double A[n] элемент, значение которого равно x

10.06.2012, 21:23. Просмотров 1020. Ответов 5
Метки нет (Все метки)

Написать функцию int Search ( double A[], int n , double x), которая находит в массиве double A[n] элемент, значение которого равно x. Функция возвращяет индекс найденного элемента или -1, если такого элемента в массиве нет. Программа получает на вход количество элементов в массиве, n затем n целых чисел- элементы массива, затем число x и должно вывести индекс найденного элемента или число -1, если данный элемент в массиве отсутствует.

Добавлено через 3 минуты
И подскажите как все это объяснить. Заранее спасибо.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.06.2012, 21:23
Ответы с готовыми решениями:

Напишите функцию int CountMax (double A[], int n) которая подсчитывает, сколько раз в массиве встречается значение, являющееся максимальным
Напишите функцию int CountMax (double A, int n) которая подсчитывает, сколько...

Поменять местами минимальный элемент матрицы и элемент, значение которого равно заданному X
Дана вещественная матрица Z размером 8х10 и число X. Поменять местами...

Процедура Double
Описать процедуру DoubleX(A, N, X), дублирующую элементы,равные числу X, в...

Опишите процедуру double(f),
type myfile = file of integer; Опишите процедуру double(f), удваивающие в...

Программа, которая находит в массиве максимальный повторяющийся элемент
Напишите программу, которая находит в массиве максимальный повторяющийся...

5
Das Gespenst
Лучи добра
172 / 170 / 191
Регистрация: 08.06.2012
Сообщений: 292
10.06.2012, 21:30 2
Вот как. Дело в том, что можно задать несколько одинаковых элементов, а функция передаст в главную программу только индекс последнего (можно и по-другому реализовать, но у меня ума пока маловато), по-этому основную работу по выводу проделывает функция.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
program z;
var i,n,x,k:integer;
a:array [1..10] of integer;
function search(a1:array [1..10] of integer; x1,n1:integer):integer;
     var k1,i,f:integer;
     begin
         writeln('Индексы элементов, равных ',x1,':');
         for i:=1 to n1 do
             if a1[i]=x1
                then
                    begin
                         f:=1;
                         k1:=i;
                         writeln(k1);
                    end;
         if f=0
            then
                writeln('Таких элементов нет!');
         search:=k1;
     end;
begin
     writeln('Введите кол-во элементов массива');
     readln(n);
     writeln('Ввод элементов массива');
     for i:=1 to n do
         begin
              write('a[',i,']=');
              readln(a[i]);
         end;
     writeln('Исходный массив');
     for i:=1 to n do
         write(a[i],' ');
     writeln;
     writeln('Введите число для проверки');
     readln(x);
     k:=search(a,x,n);
     writeln('Индекс последнего элемента, равного ',x,' - ',k);
end.
1
HACbKA
1 / 1 / 0
Регистрация: 10.06.2012
Сообщений: 54
10.06.2012, 21:37  [ТС] 3
Спасибо)
i,n,x,k - это что?
0
Das Gespenst
Лучи добра
172 / 170 / 191
Регистрация: 08.06.2012
Сообщений: 292
10.06.2012, 21:42 4
i - как и раньше, переменная-индекс для взаимодействия с элементами массива.
n - число, которым Вы задаете кол-во элементов массива.
x - число, с которым будут сравниваться элементы вектора.
k - переменная, которая запоминает индекс (i) элемента, который был равен X.
1
Puporev
Модератор
55504 / 42593 / 29443
Регистрация: 18.05.2008
Сообщений: 100,753
10.06.2012, 21:43 5
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
uses crt;
const nmax=100;
type mas=array[1..nmax] of real; //тип массива
function Search(a:mas;n:integer;x:real):integer;//функция
var i,k:integer;
begin
k:=-1;//пока нет
i:=1;
while(i<=n)and(k=-1) do//пока не конец массива и не нашли число
if a[i]=x then k:=i//если нашли, запомним номер
else i:=i+1;//иначе вперед
Search:=k;//значение функции
end;
var a:mas;
    n,i:integer;
    x:real;
begin
repeat
write('Размер массива до ',nmax,' n=');
read(n);
until n in [1..nmax];
writeln('Введите элементы массива:');
for i:=1 to n do
 begin
  write('a[',i,']='); //вводим элементы массива
  read(a[i]);
 end;
clrscr;//очистим от ввода
writeln('Исходный массив:');
for i:=1 to n do
write(a[i]:0:2,' '); //выводим на экран
writeln;
write('Введите элемент для поиска x=');
read(x);
write('Номер этого элемента в массиве=',Search(a,n,x));//вызываем функцию
end.
1
HACbKA
1 / 1 / 0
Регистрация: 10.06.2012
Сообщений: 54
10.06.2012, 21:52  [ТС] 6
Спасибо большое)
0
10.06.2012, 21:52
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.06.2012, 21:52

Вычислить сумму элементов массива тех строк, в которых есть элемент, значение которого равно N
помогите с решением задачи!

Написать программу, которая находит максимальное значение и умножает его на минимальное значение
Дан двумерный массив, размером n*m. Написать программу, которая находит...

Написать функцию, которая находит гиперболический синус
3)Структуризация программ. Функции: Написать функцию, которая находит...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru