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

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

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

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

31.08.2011, 19:39. Просмотров 1220. Ответов 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++
Меня в тупик поставило следующая ошибка (&quot;Название исполняемого файла&quot; has triggered a breakpoint.) В данном простеньком коде. Кто...

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

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

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

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

Дополнить класс динамическим массивом - C++
Доброго всем времи суток!!! Возникла проблема - создан класс &quot;sequence&quot; нужно дописать его так, чтобы он использовал динамический...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
M128K145
Эксперт С++
8286 / 3505 / 143
Регистрация: 03.07.2009
Сообщений: 10,706
01.09.2011, 08:04 #2
KING1994, должен все отлично считать. В чем у вас это выражается?
Thinker
Эксперт C++
4225 / 2199 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
01.09.2011, 08:22 #3
Цитата Сообщение от KING1994 Посмотреть сообщение
Оно не хочет щитать...

Не по теме:

Может лучше с русского языка начать

-=ЮрА=-
Заблокирован
Автор FAQ
01.09.2011, 12:29 #4
Цитата Сообщение от KING1994 Посмотреть сообщение
cin>>l>>r;
- а так вообще можно?
ForEveR
В астрале
Эксперт С++
7971 / 4733 / 321
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 3
01.09.2011, 12:31 #5
-=ЮрА=-, конечно.
C++
1
 istream& operator >>(istream&, T&);
- сигнатура
-=ЮрА=-
Заблокирован
Автор FAQ
01.09.2011, 12:36 #6
Цитата Сообщение от KING1994 Посмотреть сообщение
ost=*m[j]%x;
- у тебя m не инициализирован, как же ты хочешь чтобы чтото считалось
co6ak
Кошковед
407 / 500 / 29
Регистрация: 12.04.2010
Сообщений: 1,392
01.09.2011, 12:36 #7
очень трудно понять что происходит с такими названиями переменных
-=ЮрА=-
Заблокирован
Автор FAQ
01.09.2011, 12:38 #8
Неужели НИКТО не заметил, что нет инициализации массива, причём выделение памяти под него мягко сказать странное, с каждой строкой в ней +1 элемент - зачем это???
Цитата Сообщение от KING1994 Посмотреть сообщение
while(i<=r1)
* * * * {
* * * * * * * * m[i]=new int(l);l++;
Добавлено через 48 секунд
Цитата Сообщение от M128K145 Посмотреть сообщение
KING1994, должен все отлично считать. В чем у вас это выражается?
, как он может считать????
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
m не инициализирован
diagon
Higher
1929 / 1195 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
01.09.2011, 12:44 #9
А можно узнать, что делает ваша программа?
P.S. память не освобождается. Нехорошо.
-=ЮрА=-
Заблокирован
Автор FAQ
01.09.2011, 12:45 #10
Цитата Сообщение от diagon Посмотреть сообщение
А можно узнать, что делает ваша программа?
- Присоединяюсь к вопросу
Deviaphan
Делаю внезапно и красиво
Эксперт C++
1286 / 1220 / 50
Регистрация: 22.03.2011
Сообщений: 3,744
01.09.2011, 13:24 #11
Строки 26,27 съели мой моск.
M128K145
Эксперт С++
8286 / 3505 / 143
Регистрация: 03.07.2009
Сообщений: 10,706
01.09.2011, 13:36 #12
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
как он может считать????
а мне не важно, что он считает. По коду он зайдет в цикл, что-то повыполняет и выйдет из него. Судя по вопросу ТС - он хочет сказать, что цикл у него не работает.
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
у тебя m не инициализирован
почему он не инициализирован? Это вполне себе таки статический массив, у которого тип элементов - указатель на int, инициализация происходит в том же вайле
Цитата Сообщение от KING1994 Посмотреть сообщение
C++
1
2
3
4
        while(i<=r1)
        {
                m[i]=new int(l);l++;cout<<*m[i];i++;
        }
-=ЮрА=-
Заблокирован
Автор FAQ
01.09.2011, 13:41 #13
Цитата Сообщение от M128K145 Посмотреть сообщение
инициализация происходит в том же вайле
- инициализация чем - мусором из оперативной памяти???
M128K145
Эксперт С++
8286 / 3505 / 143
Регистрация: 03.07.2009
Сообщений: 10,706
01.09.2011, 14:19 #14
-=ЮрА=-, вот минимальный пример повторяющий код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
int main()
{
   const int count = 10;
   int valueFromConsole, i;
   std::cin>>valueFromConsole;
   int* mas[count];
   for (i = 0; i < count; ++i, ++valueFromConsole)
      mas[i] = new int(valueFromConsole);
   for (i = 0; i < count; ++i)       
      std::cout<<*mas[i]<<' ';
   return 0;
}
В чем неправ?
Deviaphan
Делаю внезапно и красиво
Эксперт C++
1286 / 1220 / 50
Регистрация: 22.03.2011
Сообщений: 3,744
01.09.2011, 14:31 #15
Цитата Сообщение от M128K145 Посмотреть сообщение
В чем неправ?
Цитата Сообщение от M128K145 Посмотреть сообщение
std::cout<<*mas[i]
А теперь запусти в релизе.)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.09.2011, 14:31
Привет! Вот еще темы с ответами:

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

Класс с содержащимся динамическим массивом - C++
Возникла необходимость создать свой объект, с внутренним массивом данных, к которому возможно применять Add, Delete, Clear, Count ну и так...

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

Ошибка связанная с Динамическим массивом - C++
#include &lt;iostream&gt; #include &lt;cstring&gt; int main() { using namespace std; char * ch = new char; cin &gt;&gt; ch; for (int i = 1; i...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
01.09.2011, 14:31
Ответ Создать тему
Опции темы

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