Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
8 / 8 / 0
Регистрация: 15.04.2010
Сообщений: 54

Заданы два массива A(20), B(20).

03.11.2010, 19:12. Показов 1248. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Заданы два массива A(20), B(20). Сформировать новый массив, состоящий из отрицательных элементов заданных массивов. Помогите пожалуйста...не могу понять как создать форму...это получается массив 20х20 или это два массива 20х20??? ну и вообще как будет выглядеть тело программы...
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
03.11.2010, 19:12
Ответы с готовыми решениями:

Заданы два массива. Проверить, что максимальный элемент массива A больше максимального элемента массива B
Заданы два массива: A={a1, a2, a3, a4}, B={b1, b2…..b6}. Переменной S присвоить значение –1, если максимальный элемент массива A больше...

Заданы два массива A и B. Удалить из массива А все элементы, входящие в состав массива В
Половину я сделала, задала массивы, а дальше не получается :sorry: %-) Поможете? program Project10; {$APPTYPE CONSOLE} ...

Заданы два целочисленных массива, в состав массива Х включить элементы У которых нет в Х
Заданы два целочисленных массива Х=(x1,x2,...,xn) и Y=(y1, y2,...,ym). B состав массива Х дополнительно включить те элементы из массива...

14
8 / 8 / 0
Регистрация: 15.04.2010
Сообщений: 54
03.11.2010, 19:28  [ТС]
или это будет выглядеть так???
Миниатюры
Заданы два массива A(20), B(20).  
0
 Аватар для Lerny
56 / 56 / 10
Регистрация: 14.03.2010
Сообщений: 157
03.11.2010, 19:34
Можно вначале посчитать количество отрицательных элементов массивов А и В, затем создать массив в динамической памяти этой размерностью и записать туда все отрицательные значения.
0
8 / 8 / 0
Регистрация: 15.04.2010
Сообщений: 54
03.11.2010, 19:40  [ТС]
Цитата Сообщение от Lerny Посмотреть сообщение
Можно вначале посчитать количество отрицательных элементов массивов А и В, затем создать массив в динамической памяти этой размерностью и записать туда все отрицательные значения.
дело в том что массив А и В заполняются автопозаполнением...
0
 Аватар для Lerny
56 / 56 / 10
Регистрация: 14.03.2010
Сообщений: 157
03.11.2010, 19:44
Цитата Сообщение от UltraRedMan Посмотреть сообщение
дело в том что массив А и В заполняются автопозаполнением...
Да всё равно как они заполняются, массивы то есть.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
int kol=0;
for (int i=0;i<20;i++)
{
     if (A[i]<0)
     kol++;
     if (B[i]<0)
     kol++;
}
int *p=new int[kol];
kol=0;
for (int i=0;i<20;i++)
{
     if (A[i]<0)
     {
     p[i]=A[i];
     kol++;
     }
     if (B[i]<0)
     {
     p[i]=B[i];
     kol++;
     }
}
1
8 / 8 / 0
Регистрация: 15.04.2010
Сообщений: 54
03.11.2010, 19:51  [ТС]
Цитата Сообщение от Lerny Посмотреть сообщение
if (A[i]<0)
мне на эту строчку пишет "Invalid indirection" ????
0
 Аватар для Lerny
56 / 56 / 10
Регистрация: 14.03.2010
Сообщений: 157
03.11.2010, 19:52
Цитата Сообщение от UltraRedMan Посмотреть сообщение
мне на эту строчку пишет "Invalid indirection" ????
Откуда вы считывается массивы? Из StringGrid?
1
8 / 8 / 0
Регистрация: 15.04.2010
Сообщений: 54
03.11.2010, 19:54  [ТС]
Цитата Сообщение от Lerny Посмотреть сообщение
Откуда вы считывается массивы? Из StringGrid?
да с него..
0
 Аватар для Bernarditto
10 / 10 / 1
Регистрация: 17.07.2010
Сообщений: 44
03.11.2010, 19:56
C++
1
2
3
4
for(i=0;i<20;i++) {StringGridA->Cells[i][0]=IntToStr(A[i]); StringGridB->Cells[i][0]=IntToStr(B[i]); } 
int n=1; int *C=new int[n]; 
for(int i=0;i<20;i++) { if(StrToInt(StringGridA->Cells[i][0])<0) {StingGridC->Cells[n-1][0]=StringGridA->Cells[i][0]; ++n;}}
for(int i=0;i<20;i++) if(StrToInt(StringGridB->Cells[i][0])<0) {StingGridC->Cells[n-1][0]=StringGridB->Cells[i][0]; ++n;}
0
 Аватар для Lerny
56 / 56 / 10
Регистрация: 14.03.2010
Сообщений: 157
03.11.2010, 20:15
Там у меня ещё и ошибка закралась, вот так, сразу с заполнением сделал.
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
int A[20],B[20];
        for (int i=0;i<20;i++)
        {
                StringGrid1->Cells[i][0]=random(101)-50;
                StringGrid2->Cells[i][0]=random(101)-50;
                A[i]=StrToInt(StringGrid1->Cells[i][0]);
                B[i]=StrToInt(StringGrid2->Cells[i][0]);
        }
int kol=0;
for (int i=0;i<20;i++)
{
     if ((A[i])<0)
     kol++;
     if ((B[i])<0)
     kol++;
}
int *p=new int[kol];
StringGrid3->ColCount=kol;
kol=0;
for (int i=0;i<20;i++)
{
     if (A[i]<0)
     {
     p[kol]=A[i];
     kol++;
     }
     if (B[i]<0)
     {
     p[kol]=B[i];
     kol++;
     }
}
        for (int i=0;i<StringGrid3->ColCount;i++)
        {
                StringGrid3->Cells[i][0]=IntToStr(p[i]);
        }
delete []p;
p=NULL;
1
8 / 8 / 0
Регистрация: 15.04.2010
Сообщений: 54
06.11.2010, 14:49  [ТС]
Lerny, Спасибо!! все заработало))
0
 Аватар для Lerny
56 / 56 / 10
Регистрация: 14.03.2010
Сообщений: 157
06.11.2010, 15:16
Можно вектор запихать, чуть короче выйдет.

C++
1
#include <vector.h>
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
vector <int> v1;
vector <int> A;
vector <int> B;
        for (int i=0;i<10;i++)
        {
                A.push_back(random(101)-50);
                B.push_back(random(101)-50);
                StringGrid1->Cells[i][0]=A[i];
                StringGrid2->Cells[i][0]=B[i];
 
        }
for (int i=0;i<10;i++)
{
     if ((A[i])<0)
     v1.push_back(A[i]);
     if ((B[i])<0)
     v1.push_back(B[i]);
}
 
StringGrid3->ColCount=v1.size();
        for (int i=0;i<v1.size();i++)
        {
                StringGrid3->Cells[i][0]=v1[i];
        }
0
8 / 8 / 0
Регистрация: 15.04.2010
Сообщений: 54
10.11.2010, 18:45  [ТС]
Цитата Сообщение от Lerny Посмотреть сообщение
delete []p; p=NULL;
можете мне пожалуйста объяснить что мы здесь делаем....точнее что делают эти команды??
0
 Аватар для Lerny
56 / 56 / 10
Регистрация: 14.03.2010
Сообщений: 157
10.11.2010, 18:50
Это вам про указатели и динамическую память надо почитать.
Т.к. здесь:
C++
1
int *p=new int[kol];
мы заняли ячейки в динамической памяти, то по хорошим манерам надо их освободить, для этого и есть:
C++
1
delete []p;
А чтобы указатель не указывал на очищенные ячейки, которые могут уже быть перезаписаны черти чем, обнуляем указатель:
C++
1
p=NULL;
0
8 / 8 / 0
Регистрация: 15.04.2010
Сообщений: 54
10.11.2010, 18:56  [ТС]
ага ясно спасибо))
а то мы в универе такого еще не учили...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
10.11.2010, 18:56
Помогаю со студенческими работами здесь

Заданы два массива Х и Y. Удалить из массива все элементы, равные максимальному значению
Задан два массива Х и Y. Удалить из массива все элементы, равные максимальному значению. Определить, поменялось ли после удаления...

Заданы два массива
Заданы два массива одинаковой размерности. Отсортировать элементы каждого массива по возрастанию методом обмена, используя для этого только...

Заданы два динамических массива. Сформировать новый массив, содержащий элементы, не входящие в оба массива
Не могу сделать Заданы два динамических массива. Сформировать новый массив, содержащий элементы, не входящие в оба массива. Вывести на...

Заданы два вещественных массива X(n) u Y(n) ...
Заданы два вещественных массива X(n) u Y(n) . Сформировать массив Z , в который включить из массива X элементы, превышающие среднее...

Заданы два массива A и B, каждый из n элементов
Заданы два массива A и B, каждый из n элементов. Подсчитайте количество таких k, для которых: A=B, A&gt;B и A&lt;B. помогите составить в...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru