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

Отсортировать студентов по оценке по первому предмету. Вывести на экран фамилии и даты рождения студентов, не получивших за все время обучения ни одной оценки 5. N = 5. Программу нужно написать в visual studio по подобию кода ниже (который в visual не работает):

#include
#include
#include
#include
#include
#include
using namespace std;
/* Описание прототипов функций */
void printru(char* s);
int sozd_f(char* filename);
int dob_dan(char* filename);
void vivod_dan(char* filename);
void sort_dan(char* filename);
/* Описание структуры, которая представляет монастырь */
struct mon {
char name[15]; /* название */
char sc; /* школа */
int cnt; /* количество монахов */
float sq; /* площадь */
};

main() {
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
int v;
char filename[] = "monastir.bin";
while (true){
cout<<"Выберите действие: \n";
cout<<"1: создать файл \n";
cout<<"2: добавить данные \n";
cout<<"3: вывести данные на экран \n";
cout<<"4: отсортировать по названиям монастырей \n";
cout<<"5: выйти \n";
cin>>v;
switch (v){
case 1: sozd_f(filename); break;
case 2: dob_dan(filename);break;
case 3: vivod_dan(filename); break;
case 4: sort_dan(filename);
vivod_dan(filename); break;
case 5: return 0;
default: cout<<"нeт такого пункта меню\n";
};
}
return 0;
}
//функция создания файла
int sozd_f(char* filename){
FILE *m_file;
m_file = fopen(filename, "w+");
if ( m_file==0 ) {
cout<<"Создать файл не удалось!\n";
return (1);
}
fclose(m_file);
}
//функция добавления данных
int dob_dan(char* filename) {
FILE *m_file;
char y_n;
struct mon x;
int tt;
m_file = fopen(filename, "ab");
if ( m_file==0 ) {
cout<<"Открыть файл не удалось!\n";
return(1);
}

do {
tt=0;
// Ввод данных
cout<<"Введите: название, школу, количество , площадь монастыря\n";
cin>> x.name;
cin>> x.sc;
cin>> x.cnt;
cin>> x.sq;
fwrite((char *) &x, sizeof(mon),1,m_file);
cout<<"Продолжить(y/n)?\n";
cin>>y_n;
if (y_n=='y'||y_n=='Y') tt=1;
} while(tt==1);
fclose(m_file);
}

//функция вывода данных на экран
void vivod_dan(char* filename){
FILE *m_file;
m_file = fopen(filename, "r");
cout<<"\n";
cout<<"| монастыри |\n";
cout<<"||\n";
cout<<"| название | школа | Количество | Площадь |\n";
cout<<"| | | монахов | земель |\n";
cout<<"|||||\n";
fseek(m_file, 0, SEEK_END);
int n = ftell(m_file) / sizeof(mon);
mon *mm = new mon[n];
fseek(m_file, 0, SEEK_SET);
// Функция fread позволяет считать весь файл за одно обращение
fread(mm, sizeof(mon), n, m_file);
fclose(m_file);
for(int i=0;i 0) m=j;
if (m>i) {
strcpy(x.name,mm[i].name);
x=mm[i];
mm[i]=mm[m];
mm[m]=x;
}
}
fopen(filename, "w");
fwrite(mm, sizeof(mon), n, m_file);
fclose(m_file);
}

Задача на c++, с структур

Показать ответ
Ответ:
morkovcha
morkovcha
03.09.2020 01:58

A)

b = int(input("Введите значение B: "))

for i in range(10, b + 1):

   print(i ** 2);

Б)

a = int(input("Введите значение A: "))

for i in range(a, 51):

   print(i ** 3);

Объяснение:

А)

b = int(input("Введите значение B: ")) // Вводим значение b с клавиатуры

for i in range(10, b + 1): // Идём от 10 до b (b + 1, т. к. последний элемент не затрагивается)

   print(i ** 2); // Выводим квадрат числа

Б)

a = int(input("Введите значение A: ")) // Вводим значение а с клавиатуры

for i in range(a, 51):  // Идём от a до 50 (51, т. к. последний элемент не затрагивается)

   print(i ** 3); // Выводим куб числа

0,0(0 оценок)
Ответ:
kovtunvadym
kovtunvadym
27.05.2021 16:32

84

Пошаговое объяснение:

крайние тролли обнимутся всего один раз, развернутся и уйдут на свой конец улицы, больше никого не встретив.

вторые с краю тролли обнимутся первый раз, развернутся, встретят крайнего тролля, обнимутся с ним, развернутся, опять встретятся-обнимутся, и, развернувшись уйдут на конец улицы больше никого не встретив (крайний тролль то уже ушел...) итого 3 обнимания.

Продолжая эту цепочку получаем

1 3 5 7 9 11 12    11 9 7 5 3 1

отличается только первый тролль из семерки, поскольку он в результате уйдет не на свой конец улицы, а на противоположный...

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота