0 / 0 / 0
Регистрация: 17.10.2016
Сообщений: 47
1

Найти более оптимальный способ решения задачи

18.10.2016, 19:07. Показов 686. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Вот задача:
Имеется две таблицы:
1) Items (Id identity(1,1) int, Name varchar(50)) в которой
хранятся составляющие продукты и изделия из них
Id Name
1 Чай
2 Заварка
3 Сахар
4 Торт
5 Тесто
6 Мука
7 Яйцо
8 Яблоко
2) Products (ProductId int, ItemId int) - перекрестная таблица.
ProductId и ItemId ссылаются на Items, в ProductId помещаются
изделия, в ItemId составляющие, из которых состоит изделие.
Изделия могут состоять как из простых составляющих, так и из
других изделий (вложенность неограниченна!).
ProductId ItemId
1 2
1 3
4 5
5 6
5 7
4 3
Задача 1: Написать скрип по созданию и заполнению таблиц.
Задача 2: Необходимо вывести все составляющие, которые не
являются изделиями (не имеют составляющих)
Задача 3: Необходимо вывести все простые составляющие, из
которых состоит Торт.

помогите пожалуйста сделать код более оптимальным, вот как я решил эту задачу:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#include <iostream>
#include <iomanip>
 
 
using namespace std;
 
struct Items
{
    int Id[8] = {1,2,3,4,5,6,7,8};
    char *Name[8] = {"tee", "welding", "sugar", "cake", "dough", "flour", "agg", "apple"};;
};
 
int main()
{
   Items product;
    for(int i = 0; i < 8; i++)
    {
        product.Id[i];
        product.Name[i];
    }
    cout << setw(2) << "Id" << setw(8) << "Name" << endl;
    for(int i = 0; i < 8; i++)
    cout << setw(2) << product.Id[i] << setw(8) << product.Name[i] << endl;
    cout << endl;
    cout << setw(2) << "Product" << setw(8) << "ItemId" << endl;
    cout << setw(2) << product.Id[0] << setw(12) << product.Id[1] << endl;
    cout << setw(2) << product.Id[0] << setw(12) << product.Id[2] << endl;
    cout << setw(2) << product.Id[3] << setw(12) << product.Id[4] << endl;
    cout << setw(2) << product.Id[4] << setw(12) << product.Id[5] << endl;
    cout << setw(2) << product.Id[4] << setw(12) << product.Id[6] << endl;
    cout << setw(2) << product.Id[3] << setw(12) << product.Id[2] << endl;
    cout << endl;
    cout << "Components are not products: ";
    cout << product.Name[1] << ", " << product.Name[2] << ", " << product.Name[5] << ", " << product.Name[6] << ", " << product.Name[7] << endl << endl;
    cout << "Components of the cake: " ;
    cout << product.Name[4] << ", " << product.Name[5] << ", " << product.Name[6] << ", " << product.Name[7] << ", " << product.Name[7] << endl << endl;
 
    return 0;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.10.2016, 19:07
Ответы с готовыми решениями:

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

Самый быстрый способ решения задачи a+b
несколько раз ходил на олимпиады, во многих из них в пробном туре даётся задача а+б, решаю её...

Есть ли более простой и оптимальный способ решения данной задачи?
Добрый день! Ситуация следующая: Есть класс Event. public class Event { public string...

Ищу оптимальный код для решения одной задачи
Добрый день, друзья! У меня есть одна задача с табличными данными, которую я в принципе могу решить...

1
7785 / 6553 / 2983
Регистрация: 14.04.2014
Сообщений: 28,617
18.10.2016, 20:46 2
Анализ, наверное, надо делать, а не подставлять готовые номера. Сначала торт найти по названию, затем выбрать составляющие.
1
18.10.2016, 20:46
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.10.2016, 20:46
Помогаю со студенческими работами здесь

Способ решения задачи
Подскажите пожалуйста, каким методом можно решить данную задачу? Спасибо.

Способ решения задачи
Торговая организация являющаяся официальным дилером производителя, ведет бухгалтерский учет в...

Объясните способ решения задачи (таблицы)
В файле PROG содержится текст программы на языке Си. Файл разделен на строки произвольной длины (...

Графический способ решения задачи линейного программирования
на рисунке показано как оно должно выглядеть. Нужно написать код!

WFA или WPF - выбор более правильного варианта для решения задачи
Доброго времени суток, уважаемые форумчане! Для тех, кто в танке - Windows Form Application или...

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


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru