Microsoft access cложные запросыимеется следующая структура базы данных (см. фото). таблица "изготовления" показывает, какой повар какое продукт и в каком количестве использует для изготовления какого блюдатребуется через конструктор запросов или без него написать следующие запросы: 1) вывести наименование самого дорогого блюда2) вывести названия блюд, в которых используются все продукты3) вывести фио всех поваров, которые готовят все блюда
// Внимание! В более ранних версиях работа не гарантируется!
begin
var m:=ReadInteger('Количество строк в массиве:');
var n:=ReadInteger('Количество столбцов в массиве:');
Writeln('Вводите элементы массива');
var a:=new integer[m,n];
for var i:=0 to m-1 do
for var j:=0 to n-1 do Read(a[i,j]);
Writeln('-'*20);
foreach var c in a.Cols do Write(c.Sum,' ')
end.
Пример
Количество строк в массиве: 4
Количество столбцов в массиве: 3
Вводите элементы массива
1 6 -2
0 6 8
-3 6 1
4 6 -3
2 24 4
Чтобы решить эту задачу, воспользуемся методом программирования:
1) напишем функцию, которая получает число в качестве аргумента и моделируя процесс преобразивания из условия возвращает результат:
int f(int n){
int d[4];
for(int i = 0; i < 4; i++){
d[3 - i] = n % 10;
n /= 10;
}
int u = d[0] + d[3], v = d[1] + d[2];
string res;
u < v ? res += to_string(u) + to_string(v) : res += to_string(v) + to_string(u);
return stoi(res);
}
2) так как нам нужно найти наибольшее четырехзначаное число, дающее результат 815, то запускаем цикл, идущий от самого большого четырехзначного числа(9999) до самого маленького(1000), и как только нам встретится число, дающее в результате нужное число(815), выведем его в консоль, и закончим работу программы, то, что выведет программа и будет ответом:
полный код(результат работы на фото) :
#include <iostream>
using namespace std;
int f(int n){
int d[4];
for(int i = 0; i < 4; i++){
d[3 - i] = n % 10;
n /= 10;
}
int u = d[0] + d[3], v = d[1] + d[2];
string res;
u < v ? res += to_string(u) + to_string(v) : res += to_string(v) + to_string(u);
return stoi(res);
}
int main(){
for(int i = 9999; i >= 1000; i--){
if(f(i) == 815){
cout << i;
return 0;
}
}
}
ответ: 9806