М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
dadada0
dadada0
02.01.2021 12:32 •  Информатика

Составить программу: 1. организовать одномерный массив из n элементов 2. организовать двоичный поиск заданного элемента.

👇
Ответ:
бэйба123
бэйба123
02.01.2021
//Dev-C++ 5.11

#include <stdio.h>
int binaryFounder(int*,int,int,int,int*);

int main(void)
 {int ar[100],n,res=-1,i,j,buf,val,arind[100];
 scanf("%d",&n);
 for(i=0;i<n;i++)
  scanf("%d",&ar[i]);
 printf("Enter searching value:");
 scanf("%d",&val);
 for(i=0;i<n;i++)
  arind[i]=i;
 for(i=0;i<n-1;i++)
  for(j=i+1;j<n;j++)
   if(ar[i]>ar[j])
    {buf=ar[i];
    ar[i]=ar[j];
    ar[j]=buf;
    buf=arind[i];
    arind[i]=arind[j];
    arind[j]=buf;}
 binaryFounder(ar,0,n-1,val,&res);
 if (res==-1)
  printf("Not found");
 else
  printf("Found in position %d",arind[res]);
 return 0;}

int binaryFounder(int ar[],int left,int right,int val,int* res)
 {int kar=(left+right)/2;
 if (*res!=-1)
  return 0;
 if (left>right)
  return 0;
 if (ar[kar]==val)
  *res=kar;
 if (ar[kar]<val)
  binaryFounder(ar,kar+1,right,val,res);
 if (ar[kar]>val)
  binaryFounder(ar,left,kar-1,val,res);}

Пример ввода:
5
1
2
3
4
5
4
Пример вывода:
Found in position 3 //считаем с 0
4,4(78 оценок)
Открыть все ответы
Ответ:
Артём24532523
Артём24532523
02.01.2021
Const n=4;
var 
a:array[1..n,1..n] of integer;
b:array[1..n*n] of integer;
i,j,k,max,imax,c:integer;
begin
Randomize;
writeln('Исходный массив:');
for i:=1 to n do
 begin
 for j:=1 to n do
  begin
   a[i,j]:=random(51)-25;
   write(a[i,j]:4);
  end;
  writeln;
 end;
writeln('Полученный массив:');
k:=0;
for i:=1 to n do
 for j:=1 to n do
  if a[i,j]>0 then
   begin k:=k+1; b[k]:=a[i,j]; write(b[k]:4); end;
writeln;  
max:=b[1]; imax:=1;
for i:=1 to k do
  if b[i]>max then begin max:=b[i]; imax:=i; end;
writeln('max = b[',imax,'] = ',max);
for i:=imax to k-1 do b[i]:=b[i+1];
b[k]:=0;
writeln('Измененный массив:');
for i:=1 to k-1 do write(b[i]:4);
writeln;
c:=b[2]; b[2]:=b[k-1]; b[k-1]:=c;
writeln('Измененный массив:');
for i:=1 to k-1 do write(b[i]:4);
writeln;
end.

Пример:
Исходный массив:
  -8  -1   3   5
  22  25 -23 -17
  13   3  18  -1
   1 -19  13   0
Полученный массив:
   3   5  22  25  13   3  18   1  13
max = b[4] = 25
Измененный массив:
   3   5  22  13   3  18   1  13
Измененный массив:
   3  13  22  13   3  18   1   5
4,8(61 оценок)
Ответ:
Во всех версия Excel:
1. FP - структура многотипных данных, представляющая все типы данных листов (в том числе сообщения об ошибках), целые числа, ссылки на диапазон, типы управления потоком для листов с макросами XLM и тип данных внутреннего хранилища двоичных данных.
2. XLOPER — структура многотипных данных, представляющая все типы данных листов (в том числе сообщения об ошибках), целые числа, ссылки на диапазон, типы управления потоком для листов с макросами XLM и тип данных внутреннего хранилища двоичных данных.

В Excel с 2007 года:
  FP12 — структура двухмерного массива с плавающей запятой, поддерживающая все строки и столбцы, начиная с Excel 200

XLOPER12 — структура многотипных данных, представляющая все типы данных листов (в том числе сообщения об ошибках), целые числа, ссылки на диапазон, типы управления потоком для листов с макросами XLM и тип данных внутреннего хранилища двоичных данных.

 

4,7(74 оценок)
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ