Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.70
KING1994
-68 / 6 / 0
Регистрация: 18.07.2011
Сообщений: 77
#1

Проблема с динамическим массивом - C++

31.08.2011, 19:39. Просмотров 1209. Ответов 33
Метки нет (Все метки)

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
#include "stdafx.h"
#include<iostream>
#include<conio.h>
using namespace std;
int l,r,i=0,j=0,k=0,k1=0,k2=0,x=2,z=1;int ost;
int _tmain(int argc, _TCHAR* argv[])
{
    int *m[10000],n[10000];
    cin>>l>>r;
    int r1=r-l;
    while(i<=r1)
    {
        m[i]=new int(l);l++;cout<<*m[i];i++;
    }
    cout<<endl;
    while(z<3)
    {
        k1=0;
        for(j=0,k=0;j<=r1;j++)
        {
         ost=*m[j]%x;
         if(ost!=0)m[k++]=m[j];
         else if (ost==0)m[j]=NULL;
        }
        while(k1<k)
        cout<<*m[k1++];x++;r1=k1;z++;
        cout<<endl<<k1;
    }
    getch();
    return 0;
}
Оно не хочет щитать для z=2;z=1 все пашет отлично почему?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.08.2011, 19:39     Проблема с динамическим массивом
Посмотрите здесь:

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

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

Странность с динамическим массивом - C++
Меня в тупик поставило следующая ошибка (&quot;Название исполняемого файла&quot; has triggered a breakpoint.) В данном простеньком коде. Кто...

Работа с динамическим массивом - C++
Дано: динамический двумерный массив. Определить сумму всех элементов (с помощью функции, массив и его размерность передать в качестве...

Операции над динамическим массивом - C++
Написать программу, которая будет создавать массив, длина которого задается с клавиатуры, и предлагать 3 операции: добавить данные в...

Не могу разобраться с динамическим массивом - C++
Объявляю массив так: int **mas; mas = new int*; for (int i = 0; i&lt;A; i++) { mas = new int; } в итоге выходит...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
-=ЮрА=-
Заблокирован
Автор FAQ
01.09.2011, 14:32     Проблема с динамическим массивом #16
Цитата Сообщение от M128K145 Посмотреть сообщение
В чем неправ?
- да я теперь въехал

Цитата Сообщение от M128K145 Посмотреть сообщение
new int(valueFromConsole);
- вот это сложно далось для понимания...
Deviaphan
Делаю внезапно и красиво
Эксперт C++
1286 / 1220 / 50
Регистрация: 22.03.2011
Сообщений: 3,744
01.09.2011, 14:32     Проблема с динамическим массивом #17
Отмена. Это же не массив.)
silent_1991
Эксперт С++
4960 / 3036 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
01.09.2011, 14:33     Проблема с динамическим массивом #18
Цитата Сообщение от Deviaphan Посмотреть сообщение
А теперь запусти в релизе.)
И-и-и-и.... Всё работает!

Добавлено через 17 секунд
Цитата Сообщение от Deviaphan Посмотреть сообщение
Отмена. Это же не массив.)
Deviaphan
Делаю внезапно и красиво
Эксперт C++
1286 / 1220 / 50
Регистрация: 22.03.2011
Сообщений: 3,744
01.09.2011, 14:36     Проблема с динамическим массивом #19
Ахах! Только сейчас понял, что ТС создаёт массив указателей на скаляры, а не массив массивов.)
M128K145
Эксперт С++
8284 / 3503 / 143
Регистрация: 03.07.2009
Сообщений: 10,706
01.09.2011, 14:36     Проблема с динамическим массивом #20
Цитата Сообщение от Deviaphan Посмотреть сообщение
А теперь запусти в релизе
у меня не студия
-=ЮрА=-
Заблокирован
Автор FAQ
01.09.2011, 14:39     Проблема с динамическим массивом #21
Теперьменее скептически к коду ТС отношусь, но запись такая что чёрт ногу сломит, думаю есть более приемлеммые способы инициализации и организации памяти.
Всё же надеюсь ТС даст описание работы алгоритма, чтобы ориентироваться не только на его логику можно было!
talis
791 / 543 / 37
Регистрация: 11.05.2010
Сообщений: 1,298
Записей в блоге: 1
01.09.2011, 17:42     Проблема с динамическим массивом #22
Преклоняюсь перед талантом ТС к обфускации кода.

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
#include "stdafx.h"
#include <iostream>
#include <conio.h>
 
using namespace std;
 
int l, r,
    i = 0, j = 0,
    k = 0, k1 = 0, k2 = 0,
    x = 2, z = 1;
 
int ost;
 
int _tmain( int argc, _TCHAR* argv[] )
{
    int *m[10000], n[10000];
 
    cin >> l >> r; // Тут стоит L (малая), а не цифра один
 
    int r1 = r - l; // Тут стоит L (малая), а не цифра один
 
    while( i <= r1 )
    {
        m[ i ] = new int( l ); // Тут стоит L (малая), а не цифра один
        l++;
        cout << *m [ i ];
        i++;
    }
 
    cout << endl;
 
    while( z < 3 )
    {
        k1 = 0;
 
        for( j = 0, k = 0; j <= r1; j++ )
        {
            ost = *m[ j ] % x;
 
            if( ost != 0 )
               m[ k++ ] = m[ j ];
            else if ( ost == 0 )
               m[ j ] = NULL;
        }
 
        while( k1 < k )
            cout << *m[ k1++ ];
 
        x++;
        r1 = k1;
        z++;
 
        cout << endl << k1;
    }
 
    getch();
 
    return 0;
}
Так не читабельнее?

Уважаемый ТС, если вы всё-таки рассчитываете получить ответ, скажите пожалуйста, что вы имели ввиду, когда писали сие безобразие?

Добавлено через 5 минут
При вводе l = 15, r = 16, сдохло на 38-й строчке оформленного кода (SIGSEGV)
KING1994
-68 / 6 / 0
Регистрация: 18.07.2011
Сообщений: 77
01.09.2011, 17:58  [ТС]     Проблема с динамическим массивом #23
Есть задача:Мы вводим предели l и r.Затем у нас получаетса числовой отрезок[l;r](например r=2,l=10,то отрезок 2,3,4,5,6,7,8,9,10)затем мы длим каждое число на x=2,все што делитса на 2 без остачи то мы ето число удаляем,и переходим к следующому раунду,увеличивая x на 1.Для заданого отрезка требуетса найти наименьшее количество раундов.Например:
Раунд 1:2,3,4,5,6,7,8,9,10 /2
Раунд 2:3,5,7,9 /3
Раунд 3:5,7 /4
Раунд 4:5,7 /5
Раунд 5:7 /6
Раунд 6:7 /7
у нас не осталось ниодного числа значит игра окончена.
Пример ввода-вывода:2 10-Ввод.6-Вывод.
У меня получилась ета задача но не динамическим способом:
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
#include "stdafx.h"
#include<iostream>
#include<conio.h>
using namespace std;
int l,r,i=0,j=0,k=0,k1=0,k2=0,x=2,z=1;int ost;
int _tmain(int argc, _TCHAR* argv[])
{
    int m[10000],n[10000];int z1=1;
    cin>>l>>r;
    int r1=r-l;
    while(i<=r1)
    {
        m[i]=l;l++;i++;
    }
    while(z1>0)
    {
        k1=0;k=0;
        for(j=0,k=0;j<=r1;j++)
        {
         ost=m[j]%x;
         if(ost!=0)n[k++]=m[j];else if(!ost)m[j]=0;
        }
        while(k1<k)
        {
        m[k1+1]=n[k1];k1++;
        }
        x++;r1=k1;z++;z1=k1;
    }
    cout<<endl;
    cout<<z-1<<endl;
    getch();
    return 0;
}
M128K145
Эксперт С++
8284 / 3503 / 143
Регистрация: 03.07.2009
Сообщений: 10,706
01.09.2011, 19:08     Проблема с динамическим массивом #24
Все намного проще
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 <list>
 
class IsDivisible
{
 private:
   int div;
 
 public:
   IsDivisible(int div)
   {
      this->div = div;
   }
 
   bool operator() (const int& value) 
   {
      return !(value%div);
   }
};
     
int main()
{
   int left, right, i = 0, current;
   std::cin >> left >> right;
   current = 2;
   if(left > right)
      return -1;
   std::list<int> value;
   for(i = left; i <= right; ++i)
      value.push_back(i);
 
   i = 1;
   do
   {
      std::cout << "Round " << i << ": ";
      for (std::list<int>::iterator it = value.begin(); it != value.end(); ++it)
         std::cout << *it << ' ';
       std::cout << std::endl;
      value.remove_if(IsDivisible(current));
      ++i;
      ++current;
   } while (value.size()!= 0);
   --i;
 
   std::cout << "Total: " << i;
 
   return 0;
}
KING1994
-68 / 6 / 0
Регистрация: 18.07.2011
Сообщений: 77
01.09.2011, 20:59  [ТС]     Проблема с динамическим массивом #25
Спасибо за етот способ,но я не очень еще умею описывать класси(ток теорию немного о них знаю)
пока ограничиваюсь функцией и динамикой.кстати у динамической версии тоже нашел ошыбку)

Добавлено через 1 час 40 минут
Кстати на ваш код тоже ошыбку выбивает типа cout не являетса обектом std
M128K145
Эксперт С++
8284 / 3503 / 143
Регистрация: 03.07.2009
Сообщений: 10,706
02.09.2011, 00:59     Проблема с динамическим массивом #26
KING1994, какая строчка, какая IDE?
KING1994
-68 / 6 / 0
Регистрация: 18.07.2011
Сообщений: 77
02.09.2011, 14:07  [ТС]     Проблема с динамическим массивом #27
Предпоседняя строчка

Добавлено через 19 секунд
C++
1
std::cout << "Total: " << i;
M128K145
Эксперт С++
8284 / 3503 / 143
Регистрация: 03.07.2009
Сообщений: 10,706
02.09.2011, 14:14     Проблема с динамическим массивом #28
KING1994, а вы вручную перенабирали или копировали? Какая IDE?
KING1994
-68 / 6 / 0
Регистрация: 18.07.2011
Сообщений: 77
02.09.2011, 14:17  [ТС]     Проблема с динамическим массивом #29
Конечно же копировал)ps што такое IDE?)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.09.2011, 14:18     Проблема с динамическим массивом
Еще ссылки по теме:

Ошибка в функции с динамическим массивом - C++
Данный код у меня выдаёт ошибку :Необработанное исключение в &quot;0x01281d09&quot; в &quot;Chernovick.exe&quot;: 0xC0000005: Нарушение прав доступа при чтении...

Ошибка структуры с динамическим массивом - C++
Описал структуру, содержащую динамический массив. По сути получился динамический массив динамических массивов: main() { int...

возникнут ли последствия с динамическим массивом - C++
Если в программе не задается размер массива (строка) и пользователю не подается запрос на размерность можно ли его задать (не имея...

Сортировки слиянием с динамическим массивом - C++
Добрый вечер! мне нужно отсортировать массив слиянием с динамическим массивом помогите пожалуйста!!! массив #include &quot;stdafx.h&quot; ...


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

Или воспользуйтесь поиском по форуму:
M128K145
Эксперт С++
8284 / 3503 / 143
Регистрация: 03.07.2009
Сообщений: 10,706
02.09.2011, 14:18     Проблема с динамическим массивом #30
KING1994, в какой среде вы программируете?

Интегрированная среда разработки
Yandex
Объявления
02.09.2011, 14:18     Проблема с динамическим массивом
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru