Написать программу таким образом, чтобы:
1) массив состоял из 35 элементов вещественного
типа:
2) значения элементов массива должны меняться в
интервале от -12 до 115:
3) в результате выполнения программы элементы
массива должны располагаться по убыванию
неположительных чётных чисел.
p.s это все одна
Сумма номеров страниц- это сумма арифметической прогрессии (с шагом= 1) от 1 до n (номер последней прочитанной страницы).
Такая сумма равна: n*(n+1) / 2 = Q
отсюда n*(n+1) = 2Q
Так как n -целое, то можно просто посчитать целую часть от квадратного корня из 2Q (также, я сделал проверку, правильную ли сумму ввели).
Сама программа:
алг
нач
цел Q, n
вывод "введите сумму номеров прочитанных страниц: "
ввод Q
n := int(sqrt(2*Q))
если n*(n+1) = 2*Q
то вывод "номер страницы = ", n
иначе вывод "неверная сумма номеров страниц"
все
кон
Ну... а что сложного? Создаёшь структуру, заполняешь её, и обрабатываешь условие на входном M:
#include <stdio.h>
#include <conio.h>
#include <locale.h>
int main(void) {
setlocale(LC_ALL, "russian");
struct months {
char name[16];
int days;
};
struct months m[12] = {
{"Январь", 31},
{"Февраль", 29},
{"Март", 31},
{"Апрель", 30},
{"Май", 31},
{"Июнь", 30},
{"Июль", 31},
{"Август", 31},
{"Сентябрь", 30},
{"Октябрь", 31},
{"Ноябрь", 30},
{"Декабрь", 31}
};
int M;
printf("Введите номер месяца: ");
scanf("%d", &M);
if (M > 0 && M < 13) {
M--;
if (m[M].days == 29 || m[M].days == 30) {
printf("В месяце \"%s\" %d дней.", m[M].name, m[M].days);
} else {
printf("В месяце \"%s\" %d день.", m[M].name, m[M].days);
}
} else {
printf("Неизвестный месяц.");
}
getch();
return 0;
}