Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
 Аватар для slavek777
5 / 5 / 1
Регистрация: 15.09.2016
Сообщений: 410

Затруднение с динамическим массивом

01.11.2019, 20:18. Показов 699. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте: Неправильно формируется динамический массив: в котором количество строк определяется в коде (как переменная L), а количество столбцов равно четыре. Проблема в массиве, который высчитывается по коду ранее но его элементы (значения элементов) формируют значения динамического массива, их много...


Вопрос следующего плана: как правильно оформить цикл Y[i] в теле формирования Z (динамического массива)?

Y[i] = обычные целые числа (массив Y cостоит максимум из 20 чисел)

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
//---------------------------------------------------------------------------------------------
 
      int *z;  // указатель на массив
  int in, jn, nn, mn;
  nn=L;  // вычисляется ранее в коде (число от 1 до 20)
  mn=4;
 
  // Выделение памяти
  z = (int*)malloc(nn*mn * sizeof(int));
  // Ввод элементов массива
  for (in = 0; in<nn; in++)  // цикл по строкам
  {
    for (jn = 0; jn<mn; jn++)  // цикл по столбцам
    {
      for (i = 0; i < nn; i++) //цикл для массива одномерного Y[i]
    {
      float jfloat=jn; // для функции синуса, требующего формат, отличающийся от integer
      
      float zn= i*Y[i]*sin(jfloat);
printf("%5.1f",zn);  // z[nn][mn] -  так не удается
      
    }
  }
  }
  getch();
}
}


Что из себя вообще представляет массив Y:

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
//------------------
int main()
{
 
 
    int n = 0, i, k = 0;
    int X[20]= {1,2,3,4,0,6,0,8,9,0,1,1,1,1,1,1,1,1,1,2};
 
    for (i = 0; i < 20; i++)
    {
        printf("%3.1d",X[i]);
        if (X[i] >3)
        {
            n++;
        }
    }
    int*Y = new int[n];
    for (i = 0; i < 20; i++)
    {
        if (X[i] > 3)
        {
            Y[k] = X[i];
            k++;
        }
    }
 
    int L=n; //количество элементов массива Y
    int sum=0; //сумма массива Y
    printf("\n");
    for (i = 0; i < L; i++)
    {
        printf("%3.1d",Y[i]);
            
    }
//------------------------------------
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
01.11.2019, 20:18
Ответы с готовыми решениями:

Проблемы с динамическим массивом
Задание звучит так : написать полноценную программу для представления информации для людей фамилия имя улица номер дома, создать...

Класс с динамическим массивом
доброго времени суток! помогите мне немножко: создать клас vector для сохранения массиву, розмеры от 10 до 10к, память виделите...

Работа с динамическим массивом
Помогите, пожалуйста. В чем проблема? Компилирует, но выполнять не хочет. Надо вставить элемент в конец динамического массива, удалить...

3
фрилансер
 Аватар для Алексей1153
6455 / 5657 / 1129
Регистрация: 11.10.2019
Сообщений: 15,073
01.11.2019, 20:35
slavek777, если вопрос о том, какой текущий элемент z внутри двух циклов, то, видимо z[in*mn+jn]

а в целом - ничего не понятно

Другой вопрос - зачем смешивается использование malloc и new (кстати, забываешь освобождать память), какой всё же язык, Си или C++ ? Если второй, то лучше посмотреть в сторону контейнеров
1
 Аватар для slavek777
5 / 5 / 1
Регистрация: 15.09.2016
Сообщений: 410
01.11.2019, 21:52  [ТС]
По условию задачи прямых указаний нет. Контейнеры нельзя. new уберу, маллок сделаю. А что делать? Сам не понимаю. Как мне пробежаться во вложенном цикле: по массиву У, так чтоб все правильно отработало в итоге в массиве Зетт. У меня проблема в том, что размерность зетта больше, чем нужна (повторы идут)
0
фрилансер
 Аватар для Алексей1153
6455 / 5657 / 1129
Регистрация: 11.10.2019
Сообщений: 15,073
02.11.2019, 15:59
Цитата Сообщение от slavek777 Посмотреть сообщение
У меня проблема в том, что размерность зетта больше
проблема в том, что ты не можешь объяснить, что нужно сделать. Ну, или я просто не понимаю. Напиши задачу обычными словами, без кода и C++ . При правильно поставленном ТЗ с некоторой вероятностью ты и сам внезапно сможешь разобраться
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
02.11.2019, 15:59
Помогаю со студенческими работами здесь

Проблема с динамическим массивом С++
Есть задача: Дан Двумерный массив целых чисел. В каждой его строке найти: а) сумму отрицательных элементов; б) количество четных...

Проблема с динамическим массивом
Имею 2 динамических массива. Но если в 1 массиве запись данных и вывод на консоль осуществляются корректно, то во 2 массив числа не...

Проблема с динамическим массивом
Проблема с выводом массива. Как исправить? П.5.18.Правил Запрещено размещать задания и решения в виде картинок и других файлов с их...

Проблема с динамическим массивом
#include &quot;stdafx.h&quot; #include&lt;iostream&gt; #include&lt;conio.h&gt; using namespace std; int l,r,i=0,j=0,k=0,k1=0,k2=0,x=2,z=1;int ost; int...

Проблема с динамическим массивом
Когда расширяется массив в первое поле первого элемента структуры вносятся изменения( появляются кракозябры) Не могу понять что делаю не...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка SDL3 из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru