Мальчики и девочки, нужно перевести блок схему в паскаль. + функция с отрезком на котором есть одно решение f(x)=0
Ответы на вопрос:
Решал я через односвязный линейный список.
Сделал фильтры ввода данных (программа завершается если поступили некорректные данные)
Код программы:
#include <stdio.h>
#include <locale>
#include <cstdio>
#include <cstdlib>
using namespace std;
typedef struct TIME {
int h;
int m;
int s;
struct TIME* next;
};
TIME *vvod() {
TIME* data;
data = new TIME();
printf("Часы = ");
scanf("%d", &data->h);
if (data->h > 23 || data->h < 0) {
printf("Некорректный ввод времени");
exit (1);
}
printf("Минуты = ");
scanf("%d", &data->m);
if (data->m > 59 || data->m < 0) {
printf("Некорректный ввод времени");
exit(1);
}
printf("Секунды = ");
scanf("%d", &data->s);
if (data->s > 59 || data->s < 0) {
printf("Некорректный ввод времени");
exit(1);
}
data->next = NULL;
return data;
}
void print(TIME *begin) {
TIME* temp;
temp = begin;
while (temp != NULL) {
printf("%d:%02d:%02d\n", temp->h, temp->m, temp->s);
temp = temp->next;
}
}
int main()
{
setlocale(LC_ALL, "Russian");
int n, i, max, c = 0, d = 0;
bool r;
TIME *begin, *krug, *temp;
printf("Введите количество кругов:\n");
scanf("%d", &n);
if (n <= 0) {
printf("Некорректный ввод количества кругов");
return 1;
}
printf("\n");
printf("Введите время начала круга:\n");
begin = vvod();
temp = begin;
for (i = 0; i < n; i++) {
printf("\n");
printf("Введите время %d круга", i + 1);
printf("\n");
krug = vvod();
r = temp->h <= krug->h && temp->m <= krug->m && temp->s < krug->s || temp->h < krug->h || temp->h == krug->h && temp->m < krug->m ;
if (r == 0) {
printf("Неккоректный ввод времени круга");
return 1;
}
temp->next = krug;
temp = krug;
}
printf("\n");
print(begin);
temp = begin;
max = 0;
for(i = 0; i < n;i++) {
c = temp->h * 3600 + temp->m * 60 + temp->s;
temp = temp->next;
if (temp == NULL) {
break;
}
d = temp->h * 3600 + temp->m * 60 + temp->s;
if (d - c > max)
max = d - c;
}
printf("\n");
printf("%d", max);
printf("\n");
return 0;
}
Реши свою проблему, спроси otvet5GPT
-
Быстро
Мгновенный ответ на твой вопрос -
Точно
Бот обладает знаниями во всех сферах -
Бесплатно
Задай вопрос и получи ответ бесплатно
Популярно: Информатика
-
terrrylook3125.10.2020 22:43
-
Gurl169608.08.2020 11:37
-
Emil30428.08.2020 03:21
-
Wolffy12.05.2020 22:59
-
FiXMy17.01.2020 17:27
-
coolbembel06.01.2022 18:28
-
katya256223.12.2020 17:29
-
kroylayshic27.01.2022 10:34
-
Милкович1121.01.2022 14:01
-
Kla0503.04.2023 02:38
Есть вопросы?
-
Как otvet5GPT работает?
otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса. -
Сколько это стоит?
Проект находиться на стадии тестирования и все услуги бесплатны. -
Могу ли я использовать otvet5GPT в школе?
Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое! -
В чем отличия от ChatGPT?
otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.