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

Дан массив из n элементов и дается число k
написать программу которая находит элемент массива равный k и выводит его индекс или -1 если такого элемента нет
ВАЖНО: програма должна работать быстрее чем за линейное время то есть перебор не пройдет

👇
Ответ:
StePAHka228
StePAHka228
19.11.2020

#include <iostream>

#include <Windows.h>

using namespace std;

 

int main()

{

   SetConsoleCP(1251);

   SetConsoleOutputCP(1251);

   int n;

   cin >> n;//Вводим размер массива

   int *arr = new int[n];

   for (int i = 0; i < n; i++)

   {

       cin >> arr[i];//Вводим числа массива

   }

   int k;

   cin >> k;//Вводим искомое

   int index = 0;

 

   for (int i = 0; i < n; i++)

   {

       if (arr[i] == k)

       {

           index = i;//Запоминаем индекс числа в массиве

           break;//Так как цифры во входных данных две - прерываем цикл при первом же совпадении

       }

   }

   cout << index-1 << endl;

   system("pause");

   return 0;

}

4,5(44 оценок)
Ответ:
zhalamine
zhalamine
19.11.2020

#include <iostream>

using namespace std;

int main() {

   int n,k;

   cin >> n;

   pair<int,int> a[n];

   for(int i = 0; i < n; i++){

       int x;

       cin >> x;

       a[i] = {x,i};

   }

   cin >> k;

   sort(a,a+n);

   int l = 0, r = n-1;

   while(l <= r){

       int mid = (l+r)/2;

       if(a[mid].first == k){

           cout << a[mid].second;

           return 0;

       }

       else if(a[mid].first < k)

           l = mid+1;

       else if(a[mid].first > k)

           r = mid-1;

   }

   cout << -1;

}

4,5(81 оценок)
Открыть все ответы
Ответ:
Katerina123777
Katerina123777
19.11.2020
1. Наука, изучающая законы и формы мышления, называется:
Г) логика
 
2. Повествовательное предложение, в котором что-то утверждается или отрицается называется:
В) высказывание
 
3. Константа, которая обозначается «1» в алгебре логики называется: 
В) истина
 
4. Какое из следующих высказываний являются истинным? 
В) II + VI = VIII (2 + 6 = 8, записанное при римских чисел)
 
5. Объединение двух высказываний в одно с союза «и» называется: 
Б) конъюнкция
 
6. Чему равно значение логического выражения (1v1)^(1v0)? 
А) 1 ((1 v 1) ^ (1 v 0) = 1 ^ 1 = 1)
 
7. Что такое логика?
B) это наука о формах и законах человеческого мышления и, в частности, о законах доказательных рассуждений
 
8. Логической операцией не является:
A) логическое деление
 
9. Объединение двух высказываний в одно с оборота «если..., то..» называется:
Г) импликация
 
10. Таблица, содержащая все возможные значения логического выражения, называется:
Б) таблица истинности
 
11. Даны три высказывания: 
А = (Наступила осень)
В = (Мы учимся в колледже)
С = (Мы решаем контрольную работу)
Напишите в виде формулы высказывание: «Наступила осень, мы учимся в колледже и решаем контрольную работу» 
ABC
 
12. Придумайте ложное высказывание, соответствующее функции и постройте таблицу истинности для следующей функции:
Х=А+ВС
В ответе выписать комбинации А, В, С при которых Х – ложно.
Например, если A = (Скопье – столица Черногории), B = (Скопье – столица Македонии) и C = (Скопье – столица Эфиопии), то X = A + BC соответствует ложному высказыванию "Скопье – столица Черногории или Македонии и Эфиопии".
Таблица истинности:
A B C X
0 0 0 0
0 0 1 0
0 1 0 0 – случай из примера
0 1 1 1
1 0 0 1
1 0 1 1
1 1 0 1
1 1 1 1
X ложно при (A, B, C) = (0, 0, 0), (0, 0, 1), (0, 1, 0).
4,4(60 оценок)
Ответ:
alinakiseleva12
alinakiseleva12
19.11.2020
1.Какое устройство компьютера моделирует мышление человека?
-Процессор

2.Действия над исходной информацией (фактами) в соответствии с некоторыми правилами - это
-обработка информации

3.Из предложенных сообщений выбрать правило
-при умножении простых дробей их числители и знаменатели перемножаются

4.Для кого, вероятнее всего, будет информативным следующее сообщение: «Программа - это алгоритм, записанный на языке программирования»?
-начинающий программист

5.Где хранится выполняемая в данный момент программа и обрабатываемые ею данные?
-в оперативной памяти

6.Какое устройство компьютера осуществляет процесс дискретизации звука?
-звуковая карта

7.Информативность сообщения, принимаемого человеком, определяется
-наличием новых знаний и понятностью

8.Вместо многоточий вставьте соответствующие понятия: «Каталог содержит информацию о ..., хранящихся в...»
A) файлах, внешней памяти

9.Указать команду(ы), при выполнении которой(ых) выделенный фрагмент попадает в буфер обмена
В) вырезать и копировать

10.Какие из перечисленных действий относятся к форматированию текста?
-установка режима выравнивания

11.В прикладное программное обеспечение входят:
В) текстовые редакторы

12.Операционная система - это
-комплекс программ, организующих управление работой компьютера и его взаимодействие с пользователем

13.Предложены команды
5Сделать диск А текущим.
2Создать каталог TOWN
3Создать каталог STREET
1Создать файл Home.txt
4Войти в созданный каталог
Расположить пронумерованные команды так, чтобы был получен алгоритм, с которого на пустой дискете создается файл с полным именем A:\TOWN\STREET\Home.txt
Б) 5,2,3,1

14.Для хранения текста требуется 84000 бита. Сколько страниц займет этот текст, если на странице размещается 30 строк по 70 символов в строке? Для кодирования текста используется таблица кодировки, состоящая из 256 символов.
84000/(log(256)/log(2))/30/70 = 5

15.Книга состоит из 64 страниц. На каждой странице 256 символов. Какой объем информации содержится в книге, если используется алфавит из 32 символов?
А) 81920 байтов Б) 40 Кбайт В)10 Кбайт Г) 16 Кбайт Д) 64 Кбайт
64*256*(log(32)/log(2)) /8/1024 = 10

16.Сколько символов содержит сообщение, записанное с символьного алфавита, если его объем составил 1/16 часть Мегабайта?
(1/16)*1024*1024*8/(log(16)/log(2)) = 131072

17.Сколько памяти занимает графическое изображение, если его размер 40x60 и для кодирования цвета пикселя используется двоичный код из 32-х битов.
А) 2400 байтов  Б) 2100 байтов  В) 960 байтов Г) 9600 байтов    Д) 12000 байтов
40*60*32/8 = 9600

18.Текст занимает 0,25 Кбайт памяти. Сколько символов содержит этот текст, если используется таблица кодировки, состоящая из 256 символов?
0.25*1024*8/(log(256)/log(2)) = 256

19.Сколько битов информации содержится в сообщении объемом четверть Килобайта?
1/4*1024*8 = 2048
4,8(60 оценок)
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ