Quantcast
Channel: Форум программистов и сисадминов Киберфорум
Viewing all 518157 articles
Browse latest View live

Проблемы большие - C# Windows Forms

$
0
0
Возникла такая проблема, только начали с формами работать я вообще не понимаю их сути, задача следующая
Вывести на экран все четырехзначные числа, которые содержат ровно три одинаковых цифры
То есть я в один TextBox ввожу левую границу n, во второй TextBox ввожу правую границу k, и в этом диапазоне программа по нажатию кнопки должна сгенерировать все числа
Я просто в замешательстве и полном ауте, пожалуйста подскажите решение

С++ Регрессии все возможные методы регрессии - C++

$
0
0
все возможные методы регрессии надо программы чтобы посчитать все возможное методы регрессии

Как завершить приложение при возникновении критической ошибки? - Lazarus

$
0
0
Всем здравствуйте.
:

procedure TFormMain.FormCreate(Sender: TObject);
var errCom: integer;
begin
    errCom:= 0;
    try
        ser:= TBlockSerial.Create; 
        ser.RaiseExcept:= true;    // Если значение свойства RaiseExcept = True, ошибки связи вызывают исключения.
                                              // Если значение False (по умолчанию), то устанавливается только значение LastError.
        ser.Connect(sPortName);    // Открытие порта.
        ser.Config(9600, 8, 'N', 0, false, false);
    except
        on E : Exception do
        ShowMessage(E.ClassName + ' : message ' + E.Message)
        // После этого хотелось бы прервать выполнение приложения
        errCom:= 1;  // Пробовал так, переменная в этом блоке не видна
    end;
    if errCom <> 0 then
    Begin
        WriteToLogFile('Приложение не запущено. Ошибка при открытии (настройке) COM-порта.');
        Application.Terminate;      // Так мы в отличие от применения инструкции <FormMain.Close;> не попадаем в обработчик FormClose
    end;

// Продолжение выполнения приложения

end;

Почему-то попадая в секцию except я не могу использовать <Application.Terminate;>?

Добавлено через 14 минут
вот так выход по ошибке сработал, но хотелось бы перед выходом увидеть информацию об ошибке:
:

    except
        begin
            //on E : Exception do
            //begin
            //    ShowMessage(E.ClassName + ' : message ' + E.Message)
            //end;
            WriteToLogFile('Приложение не запущено. Ошибка при открытии (настройке) COM-порта.');
            Application.Terminate;  // Так мы в отличие от применения инструкции <FormMain.Close;> не попадаем в обработчик FormClose

        end;
    end;

Преобразование массива - Free Pascal

$
0
0
Задан массив, состоящий из N целых чисел. Разрешается производить над ним следующую операцию замены. Выбираются два целых числа x и у, после чего всем элементам, имеющим значение x , присваивается значение у. Остальные элементы остаются при такой операции без изменений. Требуется определить можно ли выполнив последовательно некоторое количество таких операций получить массив с заданными новыми значениями и если можно то как этого добиться за мин кол-во операций.

Проблема с выводом матрицы в StringGrid - C++ Builder

$
0
0
Здравствуйте!

Создал многомерный динамический массив "а". Заполнил его рандомными элементами(Наверно. Потому как в отладчике не видно что происходит с элементами). При попытке вывода этих элементов в StringGrid выводит ошибку [bcc32 Error] Unit1.cpp(36): E2034 Cannot convert 'UnicodeString' to 'int'. Похоже либо элементы не заполняются, либо заполняются не тем чем надо. Но мб я ошибаюсь.

:

void __fastcall TForm1::Button1Click(TObject *Sender)
{
int *a,i,j,str,stol,n,m;
str=StrToInt(Edit1->Text);
stol=StrToInt(Edit2->Text);
a=(int*)malloc(str*stol* sizeof(int));
randomize;
 for (i = 0; i < str; i++)
 {
  for (j = 0; j < stol; j++)
  {
  a[i,j]=rand() * 100;
  }
 }
 for (n = 0; n < str; i++)
 {
  for (m = 0; m < stol; i++)
  {
  a[n,m]=StringGrid1->Cells[m][n]; //Cannot convert 'UnicodeString' to 'int'
  }
 }
}

Спасибо.

Изображения
Тип файла: jpg 1.jpg (124.7 Кб)

Проверка на разделители - C для начинающих

$
0
0
:

void Replace(char str[],char a[],char b[],char buffer[])
{
    int i,j,pos=0;
    for(i=0;str[i];i++)
    {
        for(j=0;str[i+j]&&a[j];j++)  //начинается ли с i-ой позиции строка a
            if(str[i+j]!=a[j]) break;
        if(!a[j])  //если a[j]=0, то мы дошли до конца строки a
        {
            i+=j-1;  //в j у нас длина стоки a, которую мы перепрыгиваем
            for(j=0;b[j];j++) buffer[pos++]=b[j];  //на место стоки a ставим строку b
        }
        else
        {
            buffer[pos++]=str[i];  //просто копируем символ
        }
        buffer[pos]=NULL;  //ставим конец строки
    }
    strcpy(str,buffer);  //копируем в первоначальную строку
}

int main()
{
    char str[100]="my destiny, not my destiny,mydestiny";
    char a[]="my",b[]="your";
    char buffer[200];
    Replace(str,a,b,buffer);
    printf("%s",str);
    return 0;
}

Функция замены заданного слова в заданной строке,НО программа заменяет не только отдельное слово но и ее часть (те, заменяет mydestiny на yourdestiny). Мне нужно сделать проверку на то, что ПОСЛЕ и ПЕРЕД словом есть какой-то разделитель, но в какую часть функции это вписать я не знаю. Подскажите, пожалуйста.

Массивы - Java для начинающих

$
0
0
Помогите сделать дз! Заранее спасибо!

Реализовать добавление элемента в статический
массив
1. Объявить в программе массив numbers на 100 элементов
2. Объявить переменную N, которую считать длинной массива
3. Запросить у пользователя значение переменной N
4. Задать элементам массива с индексами от 0 до N-1 значения 0, 1, 2...N-1
5. Вывести первые N элементов массива на экран
6. Запросить у пользователя число - индекс (позиция) вставки элемента
7. Запросить у пользователя число - значение для вставки
8. Вставить в имеющийся массив запрошенное число в запрошенную
позицию
9. Распечатать результирующий массив

Python - Python для начинающих

$
0
0
Последовательно с клавиатуры вводится N целых чисел. Вычислить сумму квадратов отрицательных чисел
количество положительных чисел среди введенных. Предусмотреть досрочный выход из цикла (с
печатью результатов на данный момент и сообщением о досрочном выходе), если введено
число 0.
Обязательное использование операторов ветвления и цикла (if, while, for).
Работать с числами как со строками, использовать сложенные типы (строки, списки,
словари, кортежи, множества) запрещено. Число N вводится с клавиатуры

Деление слипшегося текста в Power Query - MS Office Excel

$
0
0
Добрый день, знатоки. Возникла проблема в делении слипшегося текста в Power Query. Задача может и простая, но пока не могу понять ход её решения. Пробовал через добавление столбца из выделения, но он режет и оставляет хвосты. В приложенном скрине, Я показал, что делить.
Заранее Благодарен.

Изображения
Тип файла: png Снимок2.PNG (39.8 Кб)
Вложения
Тип файла: xlsx Расписание ЯРОСЛАВСКИЙ вокзал.xlsx (25.2 Кб)

Создать файл, содержащий сведения о телефонах абонентов - Visual C++: Базы данных

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

Написать программу, выдающую информацию следующего вида: по вводимой фамилии абонента выдается номер телефона; по заданному номеру выдается вся информация об абоненте; определяется количество установленных телефонов в ХХХХ году; по заданной улице и номеру дома печатается список всех абонентов в алфавитном порядке фамилий.
помогите пожалуйста, очень надо.

Энергетические диаграммы - Электроника для начинающих

$
0
0
Здравствуйте. Не понимаю как изобразить энергетическую диаграмму и энергетические диаграммы при прямом и обратном смещении. Вот сама задача: Области диода с резким кремниевым переходом имеют удельное сопротивление http://www.cyberforum.ru/cgi-bin/latex.cgi?{p}_{p}=0,013 Ом*см и http://www.cyberforum.ru/cgi-bin/latex.cgi?{p}_{n}=44,5 Ом*см; http://www.cyberforum.ru/cgi-bin/latex.cgi?{\mu }_{p}=480 cм^2/(B*c); http://www.cyberforum.ru/cgi-bin/latex.cgi?{\mu }_{n}=1400 cм^2/(B*c); http://www.cyberforum.ru/cgi-bin/latex.cgi?{n}_{i}=1,6*{10}^{10} см^-3
В условиях термодинамического равновесия при температуре Т = 300 К определите высоту потенциального барьера , а также изобразите энергетическую диаграмму, энергетические диаграммы при прямом и обратном смещении. Я нашел высоту потенциального барьера она получилась 0,901 B. Теперь не вдупляю как диаграммы изобразить.

Как сделать условие - PHP для начинающих

$
0
0
Здравствуйте
если введенное значение есть в базе то открыть другую страницу где это значение есть
можно ли такое сделать?

Передать функции значение из группы регулярки на C# - C# для начинающих

$
0
0
Помогите решить мою задачку, есть код:

:

string i_name  = dr["name"].ToString();
string descr  = dr["description"].ToString();
string pattern = @"<img src='([^<>]*?)\.([a-zA-Z]{3,4})'([^<>]*?>)";
string repl    = "<img src='" + Transliteration.Front($1) + ".$2' alt='" + i_name + "' $3>";
dr["description"] = Regex.Replace(descr, pattern, repl);

Мне нужно в Transliteration.Front передать значение из первой группы регулярки $1, но я не пому как. В таком виде ругается, что символ $ не предусмотрен. Если начинаю пробовать варианты с кавычками, вроде

:

string repl    = "<img src='" + Transliteration.Front(" + $1 + ") + ".$2' alt='" + i_name + "' $3>";
То он не подставляем значение, на выходе там получается просто 1.

Визуализация графа - C# .NET

$
0
0
Стоит такая задача. Написать программу на языке С#, которая, считывая БНФ грамматику языка из doc-файла визуализировала бы в Visio эти связи в виде графов(по факту диаграммы Вирта). Разборщик doc-файла есть и его суть заключается в том, что он отдельно выделяет все левые нетерминалы и к ним же правые нетерминалы. Подскажите как(хотя бы схему на каком этапе начинать отображать это всё в Visio,) нарисовать это всё дело. Или можете предложить свой вариант решения задачи. Спасибо!

При запуске первого проекта выдаёт ошибку - C++ Qt

$
0
0
При запуске первого проекта выдаёт ошибку:

11:07:34: Выполняются этапы для проекта Test...
11:07:34: Невозможно запустить процесс «C:\Qt\Qt5.2.1\5.2.1\mingw48_32\bin\qmake.exe» C:\Users\Серафим\Desktop\Test\Test.pro -r -spec win32-g++ "CONFIG+=debug" "CONFIG+=declarative_debug" "CONFIG+=qml_debug"
Ошибка при сборке/установке проекта Test (комплект: Desktop Qt 5.2.1 MinGW 32bit)
Во время выполнения этапа «qmake»
11:07:34: Прошло времени: 00:00.

Как это можно исправить?

Задача на python - Python для начинающих

$
0
0
На некоторых кросс-платформенных станциях метро (как, например, «Третьяковская») на разные стороны платформы приходят поезда разных направлений. Таня договорилась встретиться с подругой на такой станции, но поскольку подруга приехала из другого часового пояса, то из-за джетлага сильно проспала, и Тане пришлось долго её ждать. Поезда всегда ходят точно по расписанию, и Таня знает, что поезд стоит на платформе ровно одну минуту, а интервал между поездами (время, в течение которого поезда у платформы нет) составляет a минут для поездов на первом пути и b минут для поездов на втором пути. То есть на первый путь приезжает поезд и стоит одну минуту, затем в течение a минут поезда у платформы нет, затем в течение одной минуты у платформы стоит следующий поезд и т. д.

Пока Таня стояла на платформе, она насчитала n поездов на первом пути и m поездов на втором пути. Определите минимальное и максимальное время, которое Таня могла провести на платформе, или сообщите, что она точно сбилась со счёта.

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

Входные данные
Первая строка входных данных содержит число a — интервал между поездами на первом пути. Вторая строка содержит число b — интервал между поездами на втором пути. Третья строка содержит число n — количество поездов на первом пути, которые увидела Таня. Четвёртая строка содержит число m — количество поездов на втором пути, которые увидела Таня. Все числа — целые, от 1 до 1000.

Выходные данные
Программа должна вывести два числа: минимальное и максимальное время в минутах, которое Таня могла стоять на платформе, или одно число −1, если Таня точно ошиблась.

Примеры
Ввод1
3
3
2
Вывод
5 7


Пояснение к примерам
В первом примере по первому пути поезда ходят через 1 минуту. По второму — через 3. Стоя на платформе 5, 6 или 7 минут, Таня могла насчитать 3 поезда на первом пути и 2 на втором.

Создать рисунок Canvas Delphi - Delphi для начинающих

Вывод изображения в QTableView - C++ Qt

$
0
0
Известен путь к изображению в файлах компа. Необходимо вывести это изображение в столбец таблицы. Как это лучше сделать?

Так сейчас программа выводит столбцы в строке:
:

model->appendRow(QList<QStandardItem*>()<<item_col_1<<(здесь нужна та самая картинка)<<item_col_3<<item_col_4<<item_col_5<<item_col_6<<item_col_7<<item_col_8<<item_col_9);

Задача на одномерные массива - С++ для начинающих

$
0
0
Вывести элементы числового одномерного массива C(N), которые одновременно кратны 2 и 7. Расположить их на четные места массива.

Нужно найти ошибку в двумерном массиве, а именно выводит большое отрицательное число - С++ для начинающих

$
0
0
Доброго времени суток.Помогите найти ошибку: в двух столбцах матрицы выводит число -107374176. Вот условие задачи:. а) сформировать двумерный массив из:
- двух наименьших элементов каждой строки исходной матрицы
(первая строка нового массива);
- их индексов (вторая и третья строки нового массива);
Прикладываю код соотвественно:
:

#include <iostream>
#include <fstream>
#include <iomanip>
#include<conio.h>
#include<windows.h>
using namespace std;
const int m = 5, n = 6;
ifstream fin;
ofstream fout;
char c[6][256];
int main()
{
    fin.open("D:\ish.txt");
    if (!fin) { cout << "Ошибка при открытии файла данных"; exit(0); }
    fout.open("D:\pes.txt");
    if (!fout) { cout << "Ошибка при открытии файла результатов"; exit(0); }
    float a[m][n];
    float b[3][m * 2];
    int i, j;
    void vvod(float a[m][n]);
    void p(float a[m][n]);
    void obr(float a[m][n], float b[3][m * 2]);
    vvod(a);
    p(a);
    obr(a, b);
    fout << "\n\n\nNew array:";
    for (i = 0; i < 3; i++)
    {
        fout << '\n';
        for (j = 0; j < m * 2; j++)
            fout << setw(12) << b[i][j];
 
    }
    fout.close();
}
 
void vvod(float a[m][n])
{
    int i, j;
    for (i = 0; i < 6; i++)
    {
        fin.getline(c[i], 182, '\n');
        if (i < 4) fout << c[i] << endl;
    }
    for (i = 0; i < m; i++)
        for (j = 0; j < n; j++)
            fin >> *(*(a + i) + j);
    fin.close();
}
void p(float a[m][n])
{
    int i, j;
    for (i = 0; i < m; i++)
    {
        fout << '|';
        for (j = 0; j < n; j++)
            switch (j)
            {
            case 0: case 1: case 3:case 4:
                fout.unsetf(ios::scientific);
                fout.width(10);
                fout.setf(ios::left | ios::fixed);
                fout.precision(5);
                fout << a[i][j] << '|';
                break;
            case 2:
                fout.width(10);
                fout.unsetf(ios::fixed);
                fout.setf(ios::scientific);
                fout.precision(3);
                fout << a[i][j] << '|';
                break;
            case 5:
                fout.width(8);
                fout.precision(4);
                fout << a[i][j] << "|\n";
                break;
            }
        if (i == m - 1) fout << c[5] << endl;
        else fout << c[4] << endl;
    }
}
void obr(float a[m][n], float b[3][m * 2])
{
    int i, j, ifr, jfr, isc, jsc;
    double temp;
    double fr, sc;
    float tmp;
    for (i = 0; i < m; i++) {
        fr = a[i][0];
        sc = a[i][0];
        if (fr >= sc) {
            tmp = fr;
            fr = sc;
            sc = tmp;
        }
        for (j = 0; j < n; j++)
            if (a[i][j] <= fr) {
                sc = fr;
                fr = a[i][j];
                ifr = i;
                jfr = j;
                b[0][i] = fr;
                b[1][i] = ifr + 1;
                b[2][i] = jfr + 1;
            }
            else if (a[i][j] <= sc) {
                sc = a[i][j];
                isc = i;
                jsc = j;
                b[0][m + i] = sc;
                b[1][m + i] = isc + 1;
                b[2][m + i] = jsc + 1;
            }
        fout << fr << " " << sc << endl;
    }
    fout << endl << "=================Old array after change:================" << endl << endl;
    p(a);
}

Через fout выводится все хорошо, но если присваивать, то не получается
Viewing all 518157 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>