Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.85/13: Рейтинг темы: голосов - 13, средняя оценка - 4.85
0 / 0 / 0
Регистрация: 07.01.2023
Сообщений: 4

Удалить элементы массива соответствующие пересекающимся окружностям

24.12.2024, 19:22. Показов 3495. Ответов 37

Студворк — интернет-сервис помощи студентам
Добрый вечер, есть двумерный массив в формате {x,y,r}, где x и y - координаты цетра окружности, r - радиус это окружности. Пример:
{252, 424, 219;
577, 462, 366;
418, 557, 375;
537, 360, 341;
459, 541, 295;
459, 514, 418;
363, 110, 108;
497, 492, 488;
515, 473, 465;
281, 348, 121;}
Необходимо сделать так, чтоб остались только непересекающиеся окружности...
Пытался сделать так с последующим созданием массива, где только точки, подходящие по условию, но вышла ересь...
Не бейте тапками за оформление кода и тд.
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
void CheckArr(int** Arr, int NumCrl) {
 
    for (int i = 0; i < NumCrl-1; i++){
 
        for (int j = 1; j < NumCrl-1; j++) {
 
            int DeltaX = pow(Arr[i][0] - Arr[j][0],2);
            int DeltaY = pow(Arr[i][1] - Arr[j][1],2);
            double LenghtSntrCrl = sqrt(DeltaX + DeltaY);
 
            int SumRadius = Arr[i][2] + Arr[j][2];
 
            if (LenghtSntrCrl < SumRadius) {
                Arr[j][0] = Arr[j + 1][0];
                Arr[j][1] = Arr[j + 1][1];
                Arr[j][2] = Arr[j + 1][2];
            }
        }
    }
}
 
void NewArray(int** Arr, int NumCrl) {
    int** NewArray = new int*[HowManyUnic(Arr, NumCrl)];
    int* Index = new int[HowManyUnic(Arr, NumCrl)];
 
    for (int i = 0;i < HowManyUnic(Arr, NumCrl);i++) {
        NewArray[i] = new int[3];
    }
    
    int Num = 0;
    for (int i = 0; i < NumCrl; i++) {  // Цикл до NumCrl (включительно)
        bool different = true;
        if (i < NumCrl - 1) {
            different = (Arr[i][0] != Arr[i + 1][0]);
        }
        if (different) {
            NewArray[Num][0] = Arr[i][0];
            NewArray[Num][1] = Arr[i][1];
            NewArray[Num][2] = Arr[i][2];
            Num++;
        }
    }
}
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
24.12.2024, 19:22
Ответы с готовыми решениями:

Нечетные элементы второго массива равны произведению порядкового номера на соответствующие элементы первого массива
Нужны 3 массива 1ый массив(массив из случайных чисел) 2ой нечетные элементы второго массива равны произведению порядкового номера на...

Проверить, все ли элементы первого массива превосходят соответствующие элементы второго массива
Заданы два массива. Проверить, все ли элементы первого массива превосходят соответствующие элементы второго массива.

Заменить максимальные элементы каждой строки матрицы Q на соответствующие элементы массива B
Помогите сделать, не получается( Изменить матрицу Q(4,4) заменив максимальные элементы каждого рядка на соответствующие элементы массива...

37
0 / 0 / 0
Регистрация: 07.01.2023
Сообщений: 4
25.12.2024, 19:16  [ТС]
Студворк — интернет-сервис помощи студентам
УФФ... Согласен, возможно описал задание не совсем корректно. ПОПЫТКА №2: Как говорилось ранее есть некоторый массив с данными для окружности (X,Y,R) пусть окружностей будет 5. Я хотел идти по массиву от первой окружности и если какая-либо окружность пересекается с первой, то она удаляется из массива и так далее пока не остануться только непересекающиеся окружности... Получился +- такой код, который указан выше, но своих идей я не добился ибо чего-то не понимаю...

В данный момент я отошел от прошлой идеи, но проблема осталась окружности пересекаются между собой...

Приложил пример того, что получается на данный момент и собсвтвенно чего не должно быть.
0
0 / 0 / 0
Регистрация: 07.01.2023
Сообщений: 4
25.12.2024, 19:17  [ТС]
Вот
Миниатюры
Удалить элементы массива соответствующие пересекающимся окружностям  
0
0 / 0 / 0
Регистрация: 07.01.2023
Сообщений: 4
25.12.2024, 19:21  [ТС]
Royal_X, Понял, пошел делать алгоритм
0
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6296 / 3018 / 1053
Регистрация: 01.06.2021
Сообщений: 11,447
25.12.2024, 19:57
Лучший ответ Сообщение было отмечено Neiwazne как решение

Решение

В этой задаче все окружности пересекаются. Это было видно и на картинке gunslinger.

Вот, код, который выводит окружности, которые вообще не пересекаются.

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
#include <iostream>
#include <vector>
#include <cmath>
using namespace std;
 
struct Circle
{
    double x;
    double y;
    double r;
    bool meow = false;
};
 
void intersection(Circle& a, Circle& b)
{
    double t1 = fabs(a.r - b.r);
    double t2 = hypot(a.x-b.x, a.y-b.y);
    double t3 = a.r + b.r;
    if (t1 <= t2 && t2 <= t3)
    {
        a.meow = true;
        b.meow = true;
    }
}
 
int main()
{
    vector<Circle> arr
        {{252, 424, 219},
        {577, 462, 366},
        {418, 557, 375},
        {537, 360, 341},
        {459, 541, 295},
        {459, 514, 418},
        {363, 110, 108},
        {497, 492, 488},
        {515, 473, 465},
        {281, 348, 121}};
    
    for (size_t i = 0; i < arr.size() - 1; ++i)
        for (size_t j = i + 1; j < arr.size(); ++j)
            intersection(arr[i], arr[j]);
 
    for (const auto& c : arr)
        if (!c.meow)
            cout << "Circle (" << c.x << '\t' << c.y << '\t' << c.r << ")\n";
 
}

Neiwazne, если нужно удалить из массива

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
#include <iostream>
#include <vector>
#include <cmath>
using namespace std;
 
struct Circle
{
    double x;
    double y;
    double r;
    bool meow = false;
};
 
void intersection(Circle& a, Circle& b)
{
    double t1 = fabs(a.r - b.r);
    double t2 = hypot(a.x-b.x, a.y-b.y);
    double t3 = a.r + b.r;
    if (t1 <= t2 && t2 <= t3)
    {
        a.meow = true;
        b.meow = true;
    }
}
 
int main()
{
    vector<Circle> arr
        {{252, 424, 219},
        {577, 462, 366},
        {418, 557, 375},
        {537, 360, 341},
        {459, 541, 295},
        {459, 514, 418},
        {363, 110, 108},
        {497, 492, 488},
        {515, 473, 465},
        {281, 348, 121}};
    
    for (size_t i = 0; i < arr.size() - 1; ++i)
        for (size_t j = i + 1; j < arr.size(); ++j)
            intersection(arr[i], arr[j]);
 
    
    erase_if(arr, [](Circle& x) { return x.meow; });
    
    for (const auto& c : arr)
            cout << "Circle (" << c.x << '\t' << c.y << '\t' << c.r << ")\n";
 
 
}
erase_if это С++20. Если пишешь на старой версии стандарта, то делай по старинке remove_if из <algorithm> в связке с erase из <vector>
3
place status here
 Аватар для gunslinger
3192 / 2227 / 640
Регистрация: 20.07.2013
Сообщений: 6,026
26.12.2024, 17:53
Как обычно, предположения и реальность не совпали.
Я, возможно, так до конца не понял, что хочет ТС, но если суть в том, чтобы удалять последовательно окружности, которые пересекаются с 1-ой, потом со 2-ой и т. д., пока не останутся непересекающиеся между собой, то это как-то странно (так считаю).
Как, впрочем, и идея с выводом только тех окружностей, которые с другими не пересекаются изначально (ибо это просто).

Мой вариант следующий - выводим максимально возможное количество окружностей, которые не пересекаются между собой. При этом, если таких вариантов несколько, то выбирается тот, при котором площадь окружностей максимальна (первая комбинация при наличии одинаковых площадей, что, впрочем, маловероятно).

Код:
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
74
  const int N = 10, M = 3;
  int arr[N][M] = {
                    252, 424, 219,
                    577, 462, 366,
                    418, 557, 375,
                    537, 360, 341,
                    459, 541, 295,
                    459, 514, 418,
                    363, 110, 108,
                    497, 492, 488,
                    515, 473, 465,
                    281, 348, 121
                  };
  int limit = 1 << N, max_count = 2, num = 0, state[N];
  double max_square = 0;
 
  // всего вариантов (2^N)-1
  for (int k = 1; k < limit; k++)
  {
    int count = 0, tmp = k;
    double square = 0;  // площадь
    // окружности, которые проверяем на непересечение друг с другом
    for (int m = 0; m < N; m++)
    {
      state[m] = tmp % 2, tmp /= 2;
      if (state[m])
      {
        count++;  // кол-во окружностей
        square += arr[m][2] * arr[m][2];  // без множителя Pi
      }
    }
 
    // определяем, являются ли окружности непересекающимися друг с другом
    for (int i = 0; i < N - 1; i++)
      for (int j = i + 1; j < N; j++)
        if (count > 1 && state[i] && state[j])
        {
          int x1 = arr[i][0], y1 = arr[i][1], r1 = arr[i][2];
          int x2 = arr[j][0], y2 = arr[j][1], r2 = arr[j][2];
          double dist = hypot(abs(x1 - x2), abs(y1 - y2));
 
          // если есть пересечение
          if (dist >= abs(r1 - r2) && dist <= r1 + r2)
            count = 0;  // сбрасываем счетчик
          if (!count)  // "оптимизация" (если есть желание, можно улучшить)
            break;
        }
 
    // запоминаем кол-во и номер комбинации окружностей
    if (count > max_count || count == max_count && square > max_square)
    {
      max_count = count;
      num = k;
      max_square = square;
    }
  }
 
  TColor color[N] = {clRed, clBlue, clGreen, clNavy, clMaroon, clOlive, clPurple, clBlack, clGray, clFuchsia};
  Canvas->Brush->Style = bsClear;
  // "выводим" (рисуем) окружности
  for (int i = 0; i < N; i++)
  {
    if (num % 2)
    {
      Canvas->Pen->Color = color[i];
      Canvas->Font->Color = color[i];
      int x = arr[i][0], y = arr[i][1], r = arr[i][2];
      Canvas->TextOutW(x, y, i + 1);
      Canvas->Ellipse(x - r, y - r, x + r, y + r);
      Canvas->MoveTo(x - r, y);
      Canvas->LineTo(x + r, y);
    }
    num /= 2;
  }
Выводятся три (это максимум для примера от ТС) окружности с номерами 5, 6 и 8 (совпадает с "ручным" вариантом из поста №9).
Если не учитывать площадь, то последний вариант будет 6, 8 и 10 (как и при учете площади), а первый - 3, 5 и 8:

P.S.: я еще "тупил" и искал пересекающиеся окружности вместо непересекающихся, не понимая, в чем ошибка, но зато в итоге реализация (предположительно) получилась даже лучше, чем изначально было задумано.
0
Нарушитель
623 / 381 / 67
Регистрация: 09.03.2016
Сообщений: 4,217
26.12.2024, 23:11
Нужно нарисовать окружность в окне
Я вам здесь на муделировал по вашим данным.
Вот такое получаеться. Что вы здесь хотели удалять?
Функцию, у самого админа взял.
С инициализацией структур долго ковырялся. У меня конструктор такого не поддерживает.

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
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
#include <windows.h>
#include <iostream>
#include <vector>
LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
HWND hwnd_form;
 
struct Circle
{
    double x;
    double y;
    double r;
    bool meow = false;
};
 
// the simplest way to draw a circle:
void ReallySimpleCircle(HDC hdc, LONG radius, POINT ptCenter, COLORREF crColor)
{
    LONG    cx = 0, cy;
    double  xLimit = sqrt((double)(radius * radius) / 2);
 
    while (cx++ <= xLimit)
    {
        cy = (LONG)floor(sqrt(radius * radius - cx * cx));
        SetPixel(hdc, cx + ptCenter.x, cy + ptCenter.y, crColor);      // 45-90    degrees
        SetPixel(hdc, cx + ptCenter.x, -cy + ptCenter.y, crColor);     // 270-315  degrees
        SetPixel(hdc, -cx + ptCenter.x, cy + ptCenter.y, crColor);     // 90-135   degrees
        SetPixel(hdc, -cx + ptCenter.x, -cy + ptCenter.y, crColor);    // 225-270  degrees
        SetPixel(hdc, cy + ptCenter.x, cx + ptCenter.y, crColor);      // 0-45     degrees
        SetPixel(hdc, cy + ptCenter.x, -cx + ptCenter.y, crColor);     // 315-360  degrees
        SetPixel(hdc, -cy + ptCenter.x, cx + ptCenter.y, crColor);     // 135-180  degrees
        SetPixel(hdc, -cy + ptCenter.x, -cx + ptCenter.y, crColor);    // 180-225  degrees
    }
}
 
 
 
std::vector<Circle> arr;
 
 
 
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
    WNDCLASSEXA wc;
    MSG msg;
 
    //Registering the Window Class
    wc.cbSize = sizeof(WNDCLASSEX);
    wc.style = 0;
    wc.lpfnWndProc = WndProc;
    wc.cbClsExtra = 0;
    wc.cbWndExtra = 0;
    wc.hInstance = hInstance;
    wc.hIcon = LoadIcon(NULL, IDI_APPLICATION);
    wc.hCursor = LoadCursor(NULL, IDC_ARROW);
    wc.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1);
    wc.lpszMenuName = NULL;
    wc.lpszClassName = "myWindowClass";
    wc.hIconSm = LoadIcon(NULL, IDI_APPLICATION);
    RegisterClassExA(&wc);
 
    //Creating the Window 
    hwnd_form = CreateWindowExA(WS_EX_CLIENTEDGE, "myWindowClass",
        "Simple Window", WS_VISIBLE | WS_OVERLAPPEDWINDOW,
        0, 0, 940, 920, NULL, NULL, hInstance, NULL);
 
    //The Message Loop
    while (GetMessage(&msg, NULL, 0, 0) > 0)
    {
        TranslateMessage(&msg);
        DispatchMessage(&msg);
    }
    return msg.wParam;
}
 
//WndProc procedure. Application acts on messages
LRESULT CALLBACK WndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
    HDC hDC; HPEN hPen;
    Circle e;
    POINT ptCenter;
    
    switch (msg)
    {
    case WM_CREATE:
        e.x = 252; e.y = 424; e.r = 219;
        arr.push_back(e);
        e.x = 577; e.y = 462; e.r = 366;
        arr.push_back(e);
        e.x = 418; e.y = 557; e.r = 375;
        arr.push_back(e);
        e.x = 537; e.y = 360; e.r = 341;
        arr.push_back(e);
        e.x = 459; e.y = 541; e.r = 295;
        arr.push_back(e);
        e.x = 459; e.y = 514; e.r = 418;
        arr.push_back(e);
        e.x = 363; e.y = 110; e.r = 108;
        arr.push_back(e);
        e.x = 497; e.y =492; e.r = 488;
        arr.push_back(e);
        e.x = 515; e.y = 473; e.r = 465;
        arr.push_back(e);
        e.x = 281; e.y = 348; e.r = 121;
        arr.push_back(e);
        break;
    
    case WM_PAINT:
        hDC = GetDC(hwnd_form);
        for (size_t i = 0; i < arr.size(); ++i) 
        {
 
            ptCenter.x = arr[i].x;
            ptCenter.y = arr[i].y;
            
    ReallySimpleCircle(hDC, arr[i].r, ptCenter, 0);
                    
        }
        ReleaseDC(NULL, hDC);
    
        break;
    case WM_CLOSE:
        DestroyWindow(hwnd);
        break;
    case WM_DESTROY:
        PostQuitMessage(0);
        break;
    default:
        return DefWindowProcA(hwnd, msg, wParam, lParam);
    }
    return 0;
}
0
Нарушитель
623 / 381 / 67
Регистрация: 09.03.2016
Сообщений: 4,217
26.12.2024, 23:24
Парочку проверил. Вроде похоже.

0
Нарушитель
623 / 381 / 67
Регистрация: 09.03.2016
Сообщений: 4,217
26.12.2024, 23:45
Я не удалял. Я их просто не рисовал.
(Чистый лист получился. Маркированы все.)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
case WM_PAINT:
 
        for (size_t i = 0; i < arr.size() - 1; ++i)
            for (size_t j = i + 1; j < arr.size(); ++j)
                intersection(arr[i], arr[j]);
        hDC = GetDC(hwnd_form);
        for (size_t i = 0; i < arr.size(); ++i) 
        {
            ptCenter.x = arr[i].x;
            ptCenter.y = arr[i].y;
            
    if(!arr[i].meow)ReallySimpleCircle(hDC, arr[i].r, ptCenter, 0);
        }
        ReleaseDC(NULL, hDC);
    break;
0
Нарушитель
623 / 381 / 67
Регистрация: 09.03.2016
Сообщений: 4,217
26.12.2024, 23:50
Вот эту оставил...
0
Нарушитель
623 / 381 / 67
Регистрация: 09.03.2016
Сообщений: 4,217
27.12.2024, 00:33
C++
1
2
3
4
5
6
7
8
9
10
11
void intersection(Circle& a, Circle& b)
{
    double t1 = fabs(a.r - b.r);
    double t2 = hypot(a.x - b.x, a.y - b.y);
    double t3 = a.r + b.r;
    if (t1 <= t2 && t2 <= t3)
    {
        a.meow = true;// Если маркировать одну из них, то пару штук оставляет.
        //b.meow = true;
    }
}
0
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6296 / 3018 / 1053
Регистрация: 01.06.2021
Сообщений: 11,447
27.12.2024, 16:45
Наталья8,

Для тебе есть задача. Можешь писать, как на С, так и на С++. Вижу, что ты сидишь без дела.

Ненавидьте "A"

У Боба есть строка s, которая состоит из английских букв нижнего регистра. Он определил s′ как строку, которую он получит, удаляя все буквы «a» из строки s (оставляя все остальные символы в том же порядке). Он сгенерировал новую строку t путем соединения s и s′. Другими словами, t=s+s′

Вам дана строка t. Найдите такую строку s, которую использовал Боб, чтобы сгенерировать строку t. Можно показать, что если ответ существует, то он уникальный.

Входные данные
Первая строка содержит строку t (1≤|t|≤105), которая состоит из английских букв нижнего регистра.

Выходные данные
Выведите строку s, которую можно использовать для генерации t. Можно показать, что если ответ существует, то он уникальный. Если такой строки нет, то выведите «:(» (без кавычек, между символами нет пробела).

Источник:
https://codeforces.com/problem... ?locale=ru

для мотивации
Наталья8, в разделе Котлин хацкеры не могут ее решить с февраля 2024 Ненавидьте "A"
0
Нарушитель
623 / 381 / 67
Регистрация: 09.03.2016
Сообщений: 4,217
28.12.2024, 14:38
Не ко мне.
Извини. Мозгоф совсем мало.
Круг рисовать могу (и то спёр).
Ребус решать не могу.
0
737 / 704 / 110
Регистрация: 29.05.2015
Сообщений: 4,316
28.12.2024, 22:00
А в чем проблема?

Допустим, строка s = "ball" (мяч). Строка s' будет равна "bll", и результирующая строка t будет равна "ballbll". Как проверить, можно ли со строкой "ballbll" проделать обратную операцию? Нужно просто удалить из строки t все буквы "a" и поделить полученное слово пополам. Будет можно только если обе половинки одинаковы (ну и ессно если полученное слово состоит из четного числа букв - т.е. его в принципе можно поделить пополам). Тогда удаляем с конца строки t одну полученную половинку (которая будет s') - и получаем исходную строку s.
1
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6296 / 3018 / 1053
Регистрация: 01.06.2021
Сообщений: 11,447
28.12.2024, 22:09
Цитата Сообщение от alexu_007 Посмотреть сообщение
А в чем проблема?
вот и я не понимаю, почему Наталья8 отказался решать. Упустил шанс стать царем котлина. То, что в разделе котлина не смогли решить - я не удивляюсь. Котлиноиды это те, кому даже Java кажется сложным)
0
737 / 704 / 110
Регистрация: 29.05.2015
Сообщений: 4,316
28.12.2024, 22:17
Ну еще ввести дополнительные проверки, если слово t состоит из одних букв "aaaaaa", или что-то типо "baba" - тут подумать нада, сразу решение в голову не приходит.

p.s. ну например, если слово t заканчивается на "a" - то нельзя.
0
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6296 / 3018 / 1053
Регистрация: 01.06.2021
Сообщений: 11,447
28.12.2024, 22:18
Напишите код, кто хочет. И опубликуйте в разделе Котлина.
0
737 / 704 / 110
Регистрация: 29.05.2015
Сообщений: 4,316
28.12.2024, 23:25
Да написать то несложно, но не на языке Котлин. Я ваще на Qt C++ пишу, и буду пользоваться qt-шными плюшками, как минимум QString. Вряд-ли мое решение понравится Котлину.
0
 Аватар для analogov net
2532 / 1130 / 494
Регистрация: 17.11.2018
Сообщений: 2,838
29.12.2024, 01:17
Цитата Сообщение от Royal_X Посмотреть сообщение
Напишите код, кто хочет. И опубликуйте в разделе Котлина.
Done.
Но, поскольку я не знаю такого языка - Котлин, пришлось написать на с++, а потом попросить ИИ перевести код на Котлин.

Добавлено через 2 минуты
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
#include <string>
#include <algorithm>
 
int main() {
    std::string t, s;
    
    std::cin >> t;
    std::remove_copy(t.begin(), t.end(), std::back_inserter(s), 'a');
    
    int mid = s.size() / 2;
    std::cout << ( (s.substr(0, mid) == s.substr(mid)) ?  t.substr(0, t.size() - mid) : ":(" ) << std::endl;
}
2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
29.12.2024, 01:17

Разработать программу, которая: отнимает от элементов массива X соответствующие элементы массива Y
1. Заданы два упорядоченных по возрастанию массивов целых знаковых (беззнаковых) чисел X, Y размерности n. Разработать программу, которая:...

Вывести элементы массива, соответствующие заданному условию
Дан массив целых чисел А (n элементов). Построить блок-схему алгоритма, выводящего значения элементов, для которых справедливо условие A -...

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

Отсортировать первый массив, и переставить соответствующие элементы второго массива
Нужно сделать так чтобы к значениям Х соответствовала значения Y. Например если значения X равны: 9, 12, 2, 5, 7 а значения Y равны: 16, 5,...

Заполнить массив таким образом,чтобы элементы массива,соответствующие ...
Шахматную доску будем представлять в виде квадратного символьного массива размера 8*8.Заполнить массив таким образом,чтобы элементы...


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

Или воспользуйтесь поиском по форуму:
38
Ответ Создать тему
Новые блоги и статьи
Где деньги лежат
kumehtar 02.07.2026
Это - японская подводная лодка I-52 (тип C2, кодовое имя Momi) вышла из Японии в марте 1944 года с миссией в оккупированную немцами Францию (Лорьян). Это была одна из «Янаги»-миссий по обмену. . .
Krabik для WoW 3.3.5a, многоязычный
AmbA 02.07.2026
Допилил бота, думаю что окончательно. Изменения: - добавлена многоязычность - добавлено снятие скриншотов - добавлено поддержание бафов хождения по воде (для жреца, дк и шамана) - и так, по. . .
Алиса нашла кучу ошибок компиляции и запуска в проекте, который без проблем компилировался и запускался)))
anaschu 30.06.2026
Я пока посмеюся, но завтра проверю. А вообще интерсно. Дал алисе файл, в котором точно нет ошибок компиляции и запуска, и попросил их найти. Нашла кучу))) Критические ошибки, мешающие компиляции и. . .
сукцессия 16. Общий обзор, в основном что бы другие ии поняли
anaschu 29.06.2026
# Передаточный документ: модель микоризной сукцессии (для нового чата) Этот документ предназначен для того, чтобы новый чат Claude мог продолжить работу без необходимости заново разбираться в. . .
сукцессия 15 неявная схема
anaschu 29.06.2026
Алиса Калибровка параметров симбиотической модели: технический обзор Содержание: Введение Постановка проблемы Технические аспекты реализации Процесс внедрения изменений
сукцессия 14. Обновленная схема модели
anaschu 28.06.2026
ГЛОБАЛЬНАЯ ОПИСАТЕЛЬНАЯ СПЕЦИФИКАЦИЯ ЭКОСИСТЕМНОЙ МОДЕЛИ «SOIL CHEMISTRY & MYCORRHIZA 2. 0» https:/ / ibb. co/ NnkGpfMd Представленная интегрированная схема описывает непрерывную нелинейную. . .
сукцессия 13. Питон модель трехзонного мицелия, пока что в основном арбускулярного
anaschu 28.06.2026
## Разработка агентной модели микоризной сукцессии: от выявления артефактов к созданию комплексной системы ### Аннотация Представлено исследование по разработке агентной модели микоризной. . .
сукцессия 12. краткий список проверок модели перед запуском.
anaschu 27.06.2026
Скрытые отказы в моделях систем динамики (SD-models) экологических систем: два случая из практики Контекст Разбирался прототип модели систем динамики (SD-модели) микоризной сукцессии: пять. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru