Бесплатная помощь по программированию

Здесь можно задавать любые вопросы по программированию, включая учебные задачи.  По объемным задачам, требующим длительных объяснений и много строк кода, будут высказаны только идеи решения.  Практически 100% гарантия, что здесь помогут, если вы к условию задачи добавите свои попытки решения.

Комментариев 215 к “Бесплатная помощь по программированию

  1. Здравствуйте, помогите пожалуйста.(Visual Studio)
    Пользователь вводит три числа. Найти сумму тех чисел, которые делятся на 5. Если таких чисел нет, то вывести error.

  2. Здравствуйте, помогите пожалуйста.
    Написать программу, которая выводит сумму элементов массива в каждом столбце. Размерность массива 4x4. Ввод элементов осуществлять с клавиатуры

  3. Здравствуйте, задача взята с этого сайта

    Cоздать 3 кнопки с названиями 1, 2, 3, расположенные друг над другом. При нажатии на любую кнопку порядок меняется на 2, 1, 3. Затем при нажатии на любую кнопку порядок меняется на 3, 2, 1. Затем при нажатии на любую кнопку порядок меняется на 1, 2, 3. И так далее.
    Источник: http://www.itmathrepetitor.ru/zadachi-po-php-vychisleniya/

    Верно ли я понимаю что единственно верное решение задачи это index с первоначальной расстановкой кнопок, и action1.php, action2.php, action3.php для вариаций различных расстановок при нажатии на кнопки ?
    Сомневаюсь в своем решении.

      • Спасибо за подсказку. Если не сложно, насколько оцените оптимальность решения задачи ? Можно было проще и меньше по количеству кода ?
        <?php
        if(empty($_POST['btn'])){
        $count=1;
        $one=1;
        $two=2;
        $three=3;
        }
        if($_POST['btn']==1){
        $count=2;
        $one=2;
        $two=1;
        $three=3;
        }
        if($_POST['btn']==2){
        $count=3;
        $one=3;
        $two=2;
        $three=1;
        }
        if($_POST['btn']==3){
        $count=1;
        $one=1;
        $two=2;
        $three=3;
        }
        echo "";
        echo "",$one,"";
        echo "",$two,"";
        echo "",$three,"";
        echo "";

        ?>

  4. Последние строки обработчик формы комментария обрезал.
    Заменил треугольные скобки на круглые.

    echo "(form method='post' action='index.php')";
    echo "(button name='btn' value=",$count,")",$one,"(/button)(br /)";
    echo "(button name='btn' value=",$count,")",$two,"(/button)(br /)";
    echo "(button name='btn' value=",$count,")",$three,"(/button)";
    echo "(/form)";

    ?)

    • переменная count совпадает с one. можно одну убрать. добавить else к трем последним if иначе всегда происходит четыре проверки - лишние действия. можно попробовать вообще без if - придумать формулу типа one = ($_POST['btn']+1)%4, но это необязательно

  5. Здравствуйте. Необходимо данную ниже программу:
    1)Исправить так, чтобы она решала задачу с использованием оператора цикла с постусловием.
    2)Исправить так, чтобы она решала задачу с использованием оператора безусловного перехода
    Я совсем новичок в программировании, но столкнулся с таким заданием. Помогите ее переделать.
    Program Lab10a;
    Var
    x,y,xn,xk,dx:real;
    Begin
    writeln('Введи xn,xk,dx');
    read(xn,xk,dx);
    x:=xn;
    while x<=xk do
    begin
    y:=exp(x);
    writeln('при x=',x:10:3,' y=',y:10:3);
    x:=x+dx;
    end;
    End.

  6. Что делаю не так???помогите мне
    1.Дан набор слов, разделенных точкой с запятой (;). Набор заканчивается двоеточием (:). Определить, сколько в нем слов, заканчивающихся буквой а.
    #include
    #include

    using namespace std;

    int main()
    {
    char str[256];
    cout « "Vvedite slovo ";
    cin » str;
    int cnt = 0;

    char sign = 'a';

    int i = 0;
    while (str[i] != ':')
    {
    if ((str[i] == sign) || ((str[i + 1] == ';') && (str[i + 1] == ':')))
    cnt++;
    i++;

    }
    cout«"Kolichestvo slov " «cnt «endl;
    return 0;
    }
    2.Написать и протестировать функцию, которая в прямоугольной матрице находит сумму элементов k – строки.

    #include
    #include

    const int n = 3;
    const int m = 3;
    int A[n][m] =
    {
    { 2, 8, 1 },
    { 6, 3, 2 },
    { 6, 3, 2 }

    };

    void fun(int k)
    {
    int cnt = 0;
    for (int i = 0; i<n; i++)
    cnt = cnt + A[k][i]; // можно написать cnt+=A[k][i];
    std::cout«cnt;

    }

    void main()
    {
    int k;
    std::cin»k;
    fun(k);

    }

  7. Здравствуйте, помогите пожалуйста.
    Не могу понять, что нужно исправить чтобы программа заработала, пишет что не хватает аргументов для функций 1 и 2, но мне кажется что проблема не только в этом #include "stdafx.h"
    #include
    #include
    #include
    #include

    float fun1()
    {
    float f,x;
    f=(x*x)+2*x-3;
    return f;
    };
    float fun2()
    {
    float f,x;
    f=((3-x*x)/2);
    return f;
    }
    int _main()
    {
    int a,b,d,E,t1,t,x,x1,f2,f1,k;
    printf("Vvedite nachalo\n");
    scanf("%f",&a);
    printf("Vvedite konec\n");
    scanf("%f",&b);
    printf("Vvedite k\n");
    scanf("%f",&k);
    d=(b-a)/k;
    t=a;
    do
    {
    t1=t;
    f1=fun1(t1);
    t=t+d;
    f2=fun2(t);
    if(f1*f2E);
    printf("%f", &x);
    }
    while(t<b);
    return 0;
    }

  8. Здравствуйте) Помогите, пожалуйста, с кодом Wolfram Mathematica. Нужно сделать так, чтобы на оси были проекции из точки, где пересекаются прямые, эти прямые были подписаны, а точка обозначалась и рассчитывалась. Заранее спасибо)
    Вот код, который есть сейчас
    Manipulate[
    Plot[{y + d*c^x, a + b*(1/c)^x}, {x, 0, 10}, AxesLabel -> {"Количество", "Цена"},
    LabelStyle -> Directive[Bold, Black, 11],
    PlotRange -> {0, 10}, AspectRatio -> Automatic, PlotLabel -> "Модель частного равновесия", ImageSize -> {500,300}],
    {{y, 1, "Пересечение предложения"}, 1, 10, .01, ImageSize -> Small,
    Appearance -> "Labeled"},
    {{d, 0.05, "Наклон предложения"}, 0.01, 5, .001, ImageSize -> Small,
    Appearance -> "Labeled"},
    {{a, 1, "Пересечение спроса"}, 1, 4, .01, ImageSize -> Small,
    Appearance -> "Labeled"},
    {{b, 10, "Наклон спроса"}, 10, 40, .01, ImageSize -> Small,
    Appearance -> "Labeled"},{c, 2, None}]

  9. Добрый день,
    я начинающий программист,
    хотел спросить у вас:
    что я сделелал неправильно?
    вот код:

    #include
    #include
    #include
    #include
    #include
    #include
    using namespace std;
    int main()
    {
    std::string staff[7] = {
    "Vladas", "Petras" "Polas",
    "Antonas", "Mario", "Claudio",
    "Marko"
    };

    double a;
    double n;
    double w;
    double h;
    char* m;
    cout « "Iveskite savo varda"; cin » m;
    m == staff[0];
    if ( m = staff[0]) {
    cout « "Iveskite savo amziu"; cin » a;
    if ( a >= 18) {
    n = 3;
    cout « "Iveskite valandas"; cin » h;
    w = n* h ;
    cout « "Jusu atlyginimas yra:"; cin » w;
    }

    else {
    n = 2;
    cout « "Iveskite valandas"; cin » h;
    w = n * h;
    cout « "Jusu atlyginimas yra:"; cin » w ;
    }
    }
    else {
    ;
    cout « "Jus cia nedirbat" « endl;
    }

    return 0;
    }

    вот что выдает в виде эрора:
    line 23 cannot convert 'std::string {aka std::basic_string}' to char in assignment

    Прощу, объясните, в чем проблема

  10. Здравствуйте, подскажите пожалуйста алгоритм для поиска пиковых точек в двумерном массиве, то есть элементов матрицы, являющихся наибольшим в своем столбце и одновременно наибольшим в строке.

    • здравствуйте. почти то, что надо (предпоследний пост)
      http://www.cyberforum.ru/delphi-beginners/thread557908.html
      или текстовое описание: перебираем строки. для каждой строки находим наибольшее значение. далее просматриваем эту строку еще раз и если элемент равен наибольшему, то проверяем наибольший ли он в столбце. если да - пиковая точка. смотрим строку дальше. это самый простой алгоритм.

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

    Допустим рандомный массив:

    20 31 14 40 23
    44 44 33 43 11
    23 11 61 60 10
    41 36 32 16 52

    тут получается несколько косяков которые я не знаю как исправить.

    1. Это повторение, получается пиковую точку он закрасит только [1;0] 44

    2. Это когда в первой строке у нас находит макс [0;3] 40 и потом проверяет столбец и находит значение больше [2;3] 60 получается это и должна быть пиковая точка, но если по соседству будет опять же большее значение.

    (Надеюсь понятно написал :s)

    • 1. прочтите внимательно мой предыдущий пост. находим наибольшее значение в строке, потом ПРОСМАТРИВАЕМ СТРОКУ ЕЩЕ РАЗ заново и находим числа, равные найденному наибольшему.
      2. если в столбце находим большее чем 40, то ничего не делает. найденное 60 мы найдем, когда дойдем до 3 строки.
      присылайте код, если уж совсем тяжело.

Добавить комментарий