Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C++ Сформировать вектор из суммы наибольших и наименьших значений элементов строк данной матрицы Составить алгоритм обработки матрицы А типа short размером М х N (М≤10 строк, N≤10 столбцов). Значения М и N ввести с клавиатуры с проверкой на допустимые значения. Преду-смотреть возможность ввода значений элементов матрицы пользователем и с помощью датчика случайных чисел. Необходимо вывести исходную матрицу и результаты, указанные в варианте задания. Значения М и N ввести с клавиатуры. В... https://www.cyberforum.ru/ cpp-beginners/ thread693870.html Найти произведение квадратов первых k элементов массива A={a[i]} C++
В программе должны быть предусмотрены функции ввода-вывода элементов вектора и его обработки. Исходные данные должны вводиться корректно и с проверкой на область допустимых значений. Тип результата "short". Условие: Найти произведение квадратов первых k элементов массива A={a}.
C++ Определить произведение наибольшего и наименьшего чисел Вводятся вещественные числа типа float, большие или равные 0, пока не будет введено отрицательное число. Подсчитать, сколько всего будет введено чисел, и определить произведение наибольшего и наименьшего чисел. https://www.cyberforum.ru/ cpp-beginners/ thread693868.html C++ Виртуальные функции https://www.cyberforum.ru/ cpp-beginners/ thread693867.html
Разработать программу с использованием наследования классов, реализующую классы: Земноводное(ареал обитания)->Крокодил(род, длина, вес) ->Лягушка(род, ядовитая или нет, цвет, чем питается) ->Тритон(вес, размер, чем питается) Используя виртуальные или чисто виртуальные функции, выведите на экран его...
C++ одномерный массив
Дан массив вещественных случайных чисел.рамзер массива определяет пользователь но в пределах найти число чисел из диапазона код для Dev-cpp пожалуйста
C++ Операции присвоения матриц на С++ https://www.cyberforum.ru/ cpp-beginners/ thread693857.html
Здравствуйте. Подскажите, пожалуйста, как присвоить одной матрице 4х4 значения другой матрицы. Пытаюсь присвоить одну матрицу другой без цикла: dkiMatrix = dk1Matrix и в цикле: for (i=0; i<size; i++) { for (j=0; j<size; j++) { dkiMatrix = dk1Matrix; cout<<dkiMatrix<<'\t';
C++ Найти решение системы линейных уравнений методом Гаусса с выбором главного элемента в столбце https://www.cyberforum.ru/ cpp-beginners/ thread693855.html
Решить систему линейных уравнений методом Гаусса с выбором главного элемента в столбце. Вот моя программа #include "stdafx.h" #include <locale> #include <iostream> using namespace std; const int n=4; int i, j, m, k; double aa, bb;
C++ Матрица С++
Здравствуйте! Помогите пожалуйста решить задание по программированию: Необходимо удалить из исходной матрицы нулевые строки или столбцы, и вывести преобразованную матрицу. Пример Исходная матрица: 1034 0000 4031 Преобразованная матрица: 134
C++ Подскажите в чем ошибка https://www.cyberforum.ru/ cpp-beginners/ thread693839.html
Ребят, я только начала изучать язык...написала программу с примера в книге...но она почему то выполняется не верно... вот текст программы: //Подсчет числа буквенных оценок #include <iostream> using namespace std; int main(){ setlocale(LC_ALL,"");
C++ Определить номера строк и столбцов всех седловых точек матрицы https://www.cyberforum.ru/ cpp-beginners/ thread693837.html
// пваава.cpp: определяет точку входа для консольного приложения. // #include "stdafx.h" #include <ctime> #include <cstdlib> #include <iostream> #include <conio.h> #include <stdio.h> using namespace std;
C++ Код доступа к банковскому счету представляет собой набор из 9 десятичных цифр
Код доступа к банковскому счету представляет собой набор из 9 десятичных цифр. При проведении банковских операций онлайн клиента, в целях безопасности, просят ввести три некоторых символа, содержащихся в его коде доступа. Например, если клиента с кодом доступа "590734401" попросили ввести 4-й, 5-й и 9-й символы, то доступ к банковскому счету будет открыт после введения символов "731". К вам...
C++ Как переписать cout и cin на printf Помогите глупому новичку! Как переписать в данных кодах эти cout и cin на простые например на printf? cout<<"1. Сгенерировать массивы"<<endl; cout<<"2. Заполнить массивы в ручную"<<endl; cin>>answer; if(answer==1) { for(int i = 0; i<n-2; i++) https://www.cyberforum.ru/ cpp-beginners/ thread693822.html
Заблокирован
Автор FAQ
10.11.2012, 22:07 0

Задачка - крепкий орешек про линейку - C++ - Ответ 3680208

10.11.2012, 22:07. Показов 1456. Ответов 19
Метки (Все метки)

Ответ

lancoma, вот мой взгляд на проблему
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
#include <ctime>
#include <vector>
#include <cstdlib>
#include <iostream>
using namespace std;
 
//Ôóíêöèÿ âîçâðàùàåò îñòàòîê îò ðàçíîñòè Ì è ñóììû îòåðêçîâ
//íàëè÷èå ýòîé ôóíêöòò ïîçâîëèò ïðîèçâåñòè ââîä ðàçíûõ îòðåçêîâ
//ñóììà êîòîðûõ äàñò M
int calcRestLength(int M, vector <int> parts, int restNum);
 
int main()
{
    int i, j;//Ñ÷¸ò÷èêè
    int part;//Äëèííà îòäåëüíîé ÷àñòè
    int count = 0;//Ñ÷¸ò÷èê ïóåé
    int length;//äëèííà ñóììû îòðåçêîâ
    int N = 0;//Áóäåò ñîäåðæàòü â ñåáå ÷èñëî âàðèàíòîâ êîòîðûìè ìîæíî äîáðàòüñÿ äî Ì
    srand(time(0));//óñòàíîâèëè íà÷ çíà÷åíèå â ãåíåðàòîðå ñëó÷ ÷èñåë
    //Èìåòèðóåì ââîä ïîëüçîâàòåëÿ
    int S = 5; //ìîæíî áûëî áû ðåàëèçîâàòü êàê S = 1 + rand()%5
    int M = 30;//30 ïîóñëîâèþ íó è áîã ñ íèì, õîòÿ ìîæíî äëèíó ëèíåéêè è ðàíäîìíî ñäåëàòü
    vector <int> parts;//Âåêòîð ñ äëèíàìè îòðåçêîâ
    for(i = 0; i < S; i++)
    {
        //Çàïîëíÿåì âåêòîð ÷àñòÿìè áîëüøå íóëèÿ è <= M
        part = calcRestLength(M, parts, S - (i + 1));
        cout<<"Length of "<<i + 1<<" part : "<<part<<endl;
        parts.push_back(part);
    }
    //Òàêñ à òåïåðü ïîåõàëè èñêàòü ñïîñîáû äîñòèæåíèÿ êîíöà ëèíåéêè
    cout<<"Roots searching start..."<<endl;
    for(i = 0; i < S; i++)
    {
        cout<<"Current Root : "<<parts[i];
        length = parts[i];
        for(j = 0; j < S && length < M; j++)
        {
            if(i != j)
            {
                length += parts[j];
                cout<<" - "<<parts[j];
            }
        }
        cout<<"\nM acceded Root lenth : "<<length<<endl;
        if(M != length)
        {
            cout<<"Root length = "<<length<<endl;
            cout<<"M != length - root not acepted"<<endl;
        }
        else
        {
            cout<<"M == length - root acepted"<<endl;
            count++;
        }
    }
    cout<<"Roots searching end"<<endl;
    cout<<"Total number of roots : "<<count<<endl;
    cin.get();//Ñòîï òî÷êà
    return 0;
}
 
int calcRestLength(int M, vector <int> parts, int restNum)
{
    int i;
    int length = 0;
    int count  = 0;
    for(i = 0; i < (int)parts.size(); i++)
        length += parts[i];
    for(i = 0; i < restNum; i++)
        count += (i + 1);
    return 1 + rand()%(M - length - count + 1);
}
Проверка здесь http://codepad.org/oLGmJkbQ
Кликните здесь для просмотра всего текста
Length of 1 part : 14
Length of 2 part : 5
Length of 3 part : 1
Length of 4 part : 2
Length of 5 part : 1
Roots searching start...
Current Root : 14 - 5 - 1 - 2 - 1
M acceded Root lenth : 23
Root length = 23
M != length - root not acepted
Current Root : 5 - 14 - 1 - 2 - 1
M acceded Root lenth : 23
Root length = 23
M != length - root not acepted
Current Root : 1 - 14 - 5 - 2 - 1
M acceded Root lenth : 23
Root length = 23
M != length - root not acepted
Current Root : 2 - 14 - 5 - 1 - 1
M acceded Root lenth : 23
Root length = 23
M != length - root not acepted
Current Root : 1 - 14 - 5 - 1 - 2
M acceded Root lenth : 23
Root length = 23
M != length - root not acepted
Roots searching end
Total number of roots : 0

как видим очень сильное влияние на резултат оказывает длинна вводимых отрекзков, нужны какие то оп критери. Поясню - мы можем считать что достигли конца если скажем имея 30 см линейку и отрезки 12 + 10 + 15 получим длинну маршрута 37. Но мне кажется нужно точное совпадение длин, т.е на ввод отрезков должно отражаться правило что хотябы из двух из них можно было бы получить набор сумм равный длине линейки. Я попытался поставить такое ограничение на ввод, но всё же если есть такая возможность хотел бы увидеть доп критерии на длину вводимых отрезков

Вернуться к обсуждению:
Задачка - крепкий орешек про линейку C++
Миниатюры
Задачка - крепкий орешек про линейку  
1
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.11.2012, 22:07
Готовые ответы и решения:

Про массив задачка
На массивы вооще не могу решать задачи помогите! Во входном файле дана последовательность чисел....

задачка про автомобиль
Автомобиль движется со скоростью 60 км/ч. Внешний диаметр покрышек колес равен 60 см. Найти...

Задачка про матрицы
Доброго времени суток! имеется такая задачка - все положительные элементы матрицы С(M,N) разделить...

задачка про частицы
Компоненты ускорения частицы, движущиеся в плоскости xy равны: Ax=2A Ay=2B где A и B -...

19
10.11.2012, 22:07
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.11.2012, 22:07
Помогаю со студенческими работами здесь

Задачка про шахматы
Условие Шахматный король ходит по горизонтали, вертикали и диагонали, но только на 1 клетку. Даны...

Задачка про домино
using System; using System.Collections.Generic; using System.Linq; using System.Text; using...

Задачка про лампочки
Световое табло состоит из лампочек. Каждая лампочка может находиться в одном из трех состояний...

задачка про рыбаков
на корме и на носу лодки длиной 6 м сидят два рыбака, масса которых 60 кг и 100 кг. Рыбаки решили...

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