Все технические форумы на одном сайте Удобный поиск информации с популярных форумов в одном месте
Вопрос: Возможно ли передать в функцию номер строки кода где она вызвана?

Возможно ли передать в функцию номер строки в коде, где вызвана функция? Что бы передавалось по умолсчанию
Например SomeFunction (var AdoQ:TADOQuery; LogPath: string = 'C:\logFromQuery.txt');
И в теле функции файлу добавлять номер строки.
Ответ:
Михаил11111
Возможно ли передать в функцию номер строки в коде, где вызвана функция? Что бы передавалось по умолсчанию
Например SomeFunction (var AdoQ:TADOQuery; LogPath: string = 'C:\logFromQuery.txt');
И в теле функции файлу добавлять номер строки.


Читать внимательно:

Вопрос: Написать Функцию, принимающую строку и удаляющую из нее все комментарии типа /* */

В общем, мне нужна помощь, я вообще бес понятия как это сделать:

Мне нужно написать Функцию, принимающую строку и удаляющую из нее все комментарии типа в С++ стиле, т.е. начинающиеся на /* и заканчивающиеся на */

Помогите пожалуйста, зарание спасибо!
Ответ:
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
//написать Функцию, принимающую строку и удаляющую из нее все комментарии типа в С++ стиле, 
//т.е. начинающиеся на /* и заканчивающиеся на */
///////////////////////////////////////////////////////////////////////////////
#include <iostream>
#include <regex>
#include <string>
///////////////////////////////////////////////////////////////////////////////
typedef std::string             T_str;
///////////////////////////////////////////////////////////////////////////////
void    delete_comments( T_str  &   s )
{
    std::regex      rx("/\\*.*?\\*/");
    std::string     replacement     =   "";
 
    s     =   std::regex_replace
                    (
                        s, 
                        rx, 
                        replacement
                    );
}
///////////////////////////////////////////////////////////////////////////////
int     main()
{
    for(;;)
    {
        std::cout   <<  "s -> ";
        T_str   s;
        getline( std::cin,  s );
        delete_comments(s);
 
        std::cout   <<  s
                    <<  std::endl
                    <<  std::endl
                    <<  std::endl;
    }//for
}
Вопрос: На входе получить функцию в строку и границы интеграла и посчитать его

Начал заниматься Python буквально сегодня.

Наткнулся на одну задачку, надо на входе получить функцию в строку и границы интеграла.
А потом посчитать этот интеграл. Я для считывания функции как код использовал exec. А чтобы посчитать интеграл - integrate.quad(lambda x: "функция", "граница1", "граница2").
Кто-то может помочь разобраться?
Ответ: Если строка-функция простая, то можно сделать так:
Код Python
1
2
3
4
5
6
7
8
9
import numpy as np
 
func_str = 'x+1'
eps = 0.01
a, b = 0, 1
steps = float(b-a) / eps
x = np.linspace(a, b, steps, endpoint=False)
integral = np.sum(eval(func_str, {'x': x}) * eps)
print integral
(Данный пример считает по левой границе интервалов, если надо - уточните сами. )
Так же проканает, если строка-функция в numpy-формате.

Если же функция реально сложная и не в numpy-формате, то можно использовать класс vectorize (numpy).
Вопрос: Написать функцию, выводящую строку заданного размера шрифта

Здравствуйте)Не знаю как сделать вот это задание,помогите хотя бы с идеей...
Задание:Написать функцию, выводящую строку заданного размера шрифта. Строка и размер шрифта задаются в качестве аргументов функции.
задние на ФАЙЛЫ: Написать программу, сохраняющую в файле имена и пароли посетителей. Если имя повторяется, а введенный пароль не совпадает с паролем, хранящимся в файле, то вывести соответствующее сообщение.
ЗАДАНИЕ НА СТРОКИ:
Условие задачи аналогично предыдущему, но шифрование происходит по другой схеме: после каждых трех символов в слово вставляется буква "Е". например, Например, зашифрованное слово "ИНФОРМАТИКА" выглядит так " ИНФЕОРМЕАТИЕКА".
Ответ: 1.
Код PHP
1
2
3
4
5
6
<?php
function foo($string, $size)
{
   echo '<p style="font-size: '.$size.'px;">'.$string.'</p>';
}
?>
По второму почитайте про функции по работе с файлами в php, чтение запись
ПО третьей, можно к примеру представить строку как массив и добавлять букву после каждого третьего символа
Код PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
function bar($string)
{
   $array = (array)$string;
   $new_string = '';
   $i = 0;
   foreach($array AS $char)
   {
      if($i%3 == 0)
         $new_string .= 'Е'.$char;
      else
         $new_string .= $char;
   }
   echo $new_string;
}
Вопрос: Процедуры и функции обработки строк

Дано слово "электродинамика" Используя процедуры и функции обработки строк, составьте слова "динамика", "электрон", "крона","трон","народ"

Дано слово "железнодорожник" Используя процедуры и функции обработки строк, составьте слова "железо", "дорожник", "кино","рожки","реле".

Добавлено через 1 час 56 минут
и что никто не знает?
Ответ:
Сообщение от Maximizm
и что никто не знает?
Help смотрел? Функция Copy.
Вопрос: Функция переписывает строку

Доброго дня! Не могу самостоятельно придти к решению задачи

Функция переписывает строку. Если она находит в строке число, то вместо него она переписывает в выходную строку соответствующее по счету слово из входной строки. (например, "aaa bb1bb cc2cc" - "aaa bbaaabb ccbb1bbcc").

Я не прошу дать мне готовый код, я не могу одного главное понять - как мне пронумеровать слова в строке, чтобы при заполнении новой строки подставить туда слово?
Задайте вектор движения, пожалуйста.
Ответ: Pavit, нумеруй не слова, а пробелы. Слово - это несколько элементов строки, разделенные пробелами. Первое слово - элементы до 1го пробела, 2е слово до 2го пробела и так далее.
Вопрос: Написать функцию копирования строк

Не могу решить задачу и найти в интернете.

"Напишите программу, которая содержит функцию копирования строк. Оригинал и копия должны передаваться как параметры функции."
Ответ:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
#include <string>
 
void Copy(const std::string &from, std::string &to)
{
    to = from;
}
 
int main()
{
    std::string s = "ZZZ";
    Copy("CPY", s);
    std::cout << s << std::endl;
}
Добавлено через 55 секунд
Для сишных строк:
C
1
2
3
4
5
char* Mystrcpy(char *dest, const char *src)
{
    for (char *p = dest; *p++ = *src++;);
    return dest;
}
Вопрос: Написать процедуру и функцию преобразования строки двоичных цифр в целое десятичное число

Помогите пожалуйста.
Нужно написать процедуру и функцию преобразования строки двоичных цифр в целое десятичное число. В основной программе ввести массив из 5 элементов и для каждого элемента массива вывести его десятичное представление.
Ответ: через функцию
Вопрос: Выполнить функцию заполнения DataGrid в отдельном потоке

Добрый день
Пытают выполнить функцию в отдельном потоке, так как без него пока идет выполнение этой функции всё приложение висит.
Функция заполняет данными элемент datagridview. Погуглив в интернете статьи сделал так ( не работает ):
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
  private void button2_Click(object sender, EventArgs e) // заполнение данных происходит по нажатию на button
        { 
///......
/// исходный код
///.....
/// .....
 Thread thr_filltable = new Thread(() => filltTable_inv(responseHistory));
                    thr_filltable.IsBackground = true;
                    thr_filltable.Start();
 
}
 
 
///функция заполнения данными 
  public void filltTable_inv(string input)
        {
            dataGridView1.Invoke(new MethodInvoker(delegate ()
            {
               //....
               // ... исх код
               // ...
             }));
         } 
Код компилиться без ошибок. Но когда идет заполнение datagridview1 данными приложение всё равно виснет
Почему такое может происходит? Благодарю
Ответ: Потому что ваш делегат помещенный в dataGridView1.Invoke будет выполняться в потоке UI. Заполняйте лучше данными асинхронно какой-нибудь контейнер навроде DataTable, а потом прицепите его как DataSource.
Вопрос: Создать запись «Кинофильм» с полями: «Название» (строка), «Страна» (строка)

В заголовок окна программы записать свои данные: имя, фамилию и номер варианта.
- Для всех вариантов количество записей в массиве ограничить интервалом [1..10].
- Перед вводом данных предложить пользователю ввести количество записей от 1 до 10.
- После окончания ввода последней записи вывести все введённые значения на экран, а затем вывести результат их обработки.
Задание:Создать запись «Кинофильм» с полями: «Название» (строка), «Страна» (строка), «Стоимость производства» (целое число), «Доход от проката» (целое число). Названия кинофильмов не повторяются.
Посчитать среднюю окупаемость (доход с вычетом производства) фильмов.
Ответ: Раздел называется Turbo Pascal.
Код написан для Turbo Pascal.
В Turbo Pascal ошибок нет.

Добавлено через 4 минуты
Фраза "В заголовок окна программы записать", безусловно, наводит на кое-какие мысли, но в сообщении ничего на счет используемой среды нет, а хрустальный шар сдал в полировку... Увы.