В
Все
Б
Биология
Б
Беларуская мова
У
Українська мова
А
Алгебра
Р
Русский язык
О
ОБЖ
И
История
Ф
Физика
Қ
Қазақ тiлi
О
Окружающий мир
Э
Экономика
Н
Немецкий язык
Х
Химия
П
Право
П
Психология
Д
Другие предметы
Л
Литература
Г
География
Ф
Французский язык
М
Математика
М
Музыка
А
Английский язык
М
МХК
У
Українська література
И
Информатика
О
Обществознание
Г
Геометрия
Nika31303
Nika31303
22.09.2020 16:03 •  Информатика

висловте припущення,коли варто застосовувати голосовий пошук .Для перевірки власних припущень знайдіть потрібні відомості в Інтернеті.​

Показать ответ
Ответ:
лсоаоа
лсоаоа
15.10.2022 14:47

C Lang

#include <ctype.h>

#include <errno.h>

#include <stdio.h>

#include <stdlib.h>

#include <sys/ioctl.h>

#include <termios.h>

#include <unistd.h>

/*** defines ***/

#define CTRL_KEY(k) ((k) & 0x1f)

/*** data ***/

struct editorConfig {

 int screenrows;

 int screencols;

 struct termios orig_termios;

};

struct editorConfig E;

/*** terminal ***/

void die(const char *s) {

 write(STDOUT_FILENO, "\x1b[2J", 4);

 write(STDOUT_FILENO, "\x1b[H", 3);

 perror(s);

 exit(1);

}

void disableRawMode() {

 if (tcsetattr(STDIN_FILENO, TCSAFLUSH, &E.orig_termios) == -1)

   die("tcsetattr");

}

void enableRawMode() {

 if (tcgetattr(STDIN_FILENO, &E.orig_termios) == -1) die("tcgetattr");

 atexit(disableRawMode);

 struct termios raw = E.orig_termios;

 raw.c_iflag &= ~(BRKINT | ICRNL | INPCK | ISTRIP | IXON);

 raw.c_oflag &= ~(OPOST);

 raw.c_cflag |= (CS8);

 raw.c_lflag &= ~(ECHO | ICANON | IEXTEN | ISIG);

 raw.c_cc[VMIN] = 0;

 raw.c_cc[VTIME] = 1;

 if (tcsetattr(STDIN_FILENO, TCSAFLUSH, &raw) == -1) die("tcsetattr");

}

char editorReadKey() {

 int nread;

 char c;

 while ((nread = read(STDIN_FILENO, &c, 1)) != 1) {

   if (nread == -1 && errno != EAGAIN) die("read");

 }

 return c;

}

int getCursorPosition(int *rows, int *cols) {

 char buf[32];

 unsigned int i = 0;

 if (write(STDOUT_FILENO, "\x1b[6n", 4) != 4) return -1;

 while (i < sizeof(buf) - 1) {

   if (read(STDIN_FILENO, &buf[i], 1) != 1) break;

   if (buf[i] == 'R') break;

   i++;

 }

 buf[i] = '\0';

 if (buf[0] != '\x1b' || buf[1] != '[') return -1;

 if (sscanf(&buf[2], "%d;%d", rows, cols) != 2) return -1;

 return 0;

}

int getWindowSize(int *rows, int *cols) {

 struct winsize ws;

 if (ioctl(STDOUT_FILENO, TIOCGWINSZ, &ws) == -1 || ws.ws_col == 0) {

   if (write(STDOUT_FILENO, "\x1b[999C\x1b[999B", 12) != 12) return -1;

   return getCursorPosition(rows, cols);

 } else {

   *cols = ws.ws_col;

   *rows = ws.ws_row;

   return 0;

 }

}

/*** output ***/

void editorDrawRows() {

 int y;

 for (y = 0; y < E.screenrows; y++) {

   write(STDOUT_FILENO, "~", 1);

   if (y < E.screenrows - 1) {

     write(STDOUT_FILENO, "\r\n", 2);

   }

 }

}

void editorRefreshScreen() {

 write(STDOUT_FILENO, "\x1b[2J", 4);

 write(STDOUT_FILENO, "\x1b[H", 3);

 editorDrawRows();

 write(STDOUT_FILENO, "\x1b[H", 3);

}

/*** input ***/

void editorProcessKeypress() {

 char c = editorReadKey();

 switch (c) {

   case CTRL_KEY('q'):

     write(STDOUT_FILENO, "\x1b[2J", 4);

     write(STDOUT_FILENO, "\x1b[H", 3);

     exit(0);

     break;

 }

}

/*** init ***/

void initEditor() {

 if (getWindowSize(&E.screenrows, &E.screencols) == -1) die("getWindowSize");

}

int main() {

 enableRawMode();

 initEditor();

 while (1) {

   editorRefreshScreen();

   editorProcessKeypress();

 }

 return 0;

}

0,0(0 оценок)
Ответ:
khavakim
khavakim
07.05.2022 21:38
Значит так: мы создаем массив избыточной длины, куда потом будем записывать рандомные числа. Так же мы создаем массив-счетчик b (у него индексами являются сами числа, а элементами - количество этого числа в массиве А), куда будет присваиваться, сколько раз нам встречается то или иное число (перед этим мы массив обязательно обнулим). В конце мы смотрим максимальное число из массива-счетчика. Вуаля!

Вот пример программы на паскале ABC:

var a:array [1..1000000] of integer; 
b:array [1..10] of longint;   
c:integer;   
i,max,n:longint;
begin
write('Введите число элементов массива: ');
readln(n); 
max:=0; 
for i:=1 to 10 do 
b[i]:=0; 
for i:=1 to n do  begin 
a[i]:=random(10)+1; 
write(a[i],' '); 
b[a[i]]:=b[a[i]]+1 
end; 
for i:=1 to 10 do if b[i]>max then 
begin 
c:=i; 
max:=b[i] 
end; 
writeln; 
writeln('Чаще всего в массиве встречается число ',c)
end.
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота