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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.60
delias
4 / 4 / 0
Регистрация: 16.07.2009
Сообщений: 87
#1

Недозаполненный массив - C++

16.07.2009, 11:20. Просмотров 1238. Ответов 29
Метки нет (Все метки)

есть массив, допустим c[n], n=8

по мере выполнения задачи в массив по порядку записываются числа. записались, например, 1,2,3. Судя из теории, остальным пяти пустым ячейкам должны присвоиться значения 0.

но в моём случае это число -858993460.

не совсем понятно, в каком случае незаполненные ячейки станут нулями
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.07.2009, 11:20     Недозаполненный массив
Посмотрите здесь:

Вывести на печать массив X, массив Z, массив Y, произведение элементов массива X, упорядоченный массив Y - QBasic
Вывести на печать массив X, массив Z, массив Y, произведение элементов массива X, упорядоченный массив Y. ...

Дан массив целых чисел а(12). Переписать в массив х четные, а в массив у нечетные элементы массива а - Turbo Pascal
Помогите пожалуйста решить эту задачу. Массив a выводит на печать. Я пишу a mod 2 = 0 , а он мне 41 ошибку выдает. Что делать? Вот...

Сформировать массив, который будет состоять из чисел, входящих как в массив A, так и в массив B - C (СИ)
Задание: На основе исходных массивов A и B (n и m – рабочие размеры массивов) сформировать массив C, который будет состоять из чисел,...

Дан одномерный массив A из N элементов. Переписать положительные элементы массива в массив B, а отрицательные в массив C - Pascal
Дан одномерный массив A из N элементов. Переписать положительные элементы массива в массив B, а отрицательные в массив C.

Массив: Отсортировать полученный массив 3 способами: по строкам, по столбцам( возр.), 3) и весь массив - Delphi
Помогите, пожалуйста ,решить задачу. Очень нужно. Задан массив (4*6). Элементы задаются по правилу: если j>3, то Aij=i+j, иначе...

Массив: Как сделать так, чтобы результирующий массив представлял собой измененный по заданным правилам первый массив? - C++ Builder
Доброй ночи форумчане, очередной нубо-вопрос не требует отлагательств имеется одномерный массив, из которого по заданным условиям...

Построить массив d из элементов, которые входят как в массив a так и в массив b - C (СИ)
Дан массив a и b состоящий из n элементов. Построить массив d из элементов, которые входят как в массив a так и в массив b. Желательно с...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Evg
Эксперт CАвтор FAQ
17462 / 5700 / 361
Регистрация: 30.03.2009
Сообщений: 15,639
Записей в блоге: 26
16.07.2009, 13:22     Недозаполненный массив #21
Цитата Сообщение от #Мессир Посмотреть сообщение
Evg, у человека, может, форум глючит... я это сообщение минут 10 пытался отправить, пока форум висел и тоже опоздал....
Я знаю. Я сбоянил первым, ты вторым, RazorQ третьим. Кто следующий
RazorQ
16.07.2009, 14:25
  #22

Не по теме:

Цитата Сообщение от Evg Посмотреть сообщение
Кто следующий
А можно мне ещё раз?

^Tecktonik_KiLLeR
1159 / 441 / 22
Регистрация: 23.06.2009
Сообщений: 6,230
Завершенные тесты: 1
16.07.2009, 15:00     Недозаполненный массив #23
int a[5]={1,2,3};
следовательно:
a: 1 2 3 0 0 0
тут размер массива меньше чем ячеек..
C++
1
2
3
4
5
int a[5];//5 ячеек=>это первая
a[0]=1;//2-ая
а[1]=2;//3-ая
a[2]=3;//4-ая
a[3]=4;//5-ая

у тебя там 6 а не пять...
Evg
Эксперт CАвтор FAQ
17462 / 5700 / 361
Регистрация: 30.03.2009
Сообщений: 15,639
Записей в блоге: 26
16.07.2009, 15:23     Недозаполненный массив #24
@lex, ты вообще о чём?
^Tecktonik_KiLLeR
1159 / 441 / 22
Регистрация: 23.06.2009
Сообщений: 6,230
Завершенные тесты: 1
16.07.2009, 15:24     Недозаполненный массив #25
Evg, в цитате написал
Evg
Эксперт CАвтор FAQ
17462 / 5700 / 361
Регистрация: 30.03.2009
Сообщений: 15,639
Записей в блоге: 26
16.07.2009, 15:25     Недозаполненный массив #26
Дальше у тебя идёт некий код (непонятно к чему), и чего там 6, а не 5 - тоженепонятно
delias
4 / 4 / 0
Регистрация: 16.07.2009
Сообщений: 87
16.07.2009, 16:30  [ТС]     Недозаполненный массив #27
да, я не правильно написал, там пять ячеек, но это не принципиально.

спасибо за совет обнуления.

вот как было сделано до того как задал вопрос:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
const int n=5, m=3,o=8;
int a[n]={1,2,3,4,5},b[m]={7,2,3},c[o],i,j,x=0;
for (i=0;i<n;i++)
{
    for (j=0;j<m;j++)
    {
        if (a[i]==b[j])
        {
            c[x]=a[i];
            x++;
        }
    }
}
for (i=0;i<o;i++)
{
        if (c[i]!=-858993460) //как изменить на ноль???!!!!
        {
            cout<<"chislo "<<c[i]<<" povtoryaetsya i zapisano v ryad "<<i<<"\n";
        }
вывод приходилось сравнивать с числом -858993460

поэтому ваш совет помог, и я исправился:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
const int n=5, m=3,o=8;
int a[n]={1,2,3,4,5},b[m]={7,2,3},c[o]={0},i,j,x=0;
for (i=0;i<n;i++)
{
    for (j=0;j<m;j++)
    {
        if (a[i]==b[j])
        {
            c[x]=a[i];
            x++;
        }
    }
}
for (i=0;i<o;i++)
{
        if (c[i]!=0) //спасибо форуму
        {
            cout<<"chislo "<<c[i]<<" povtoryaetsya i zapisano v ryad "<<i<<"\n";
        }
выходит пример что нам дали не правильный? :
int a[5]={1,2,3};
следовательно:
a: 1 2 3 0 0
потому как этот массив вначале должен быть обнулён, а если не обнулить то в ячейках 3 и 4 будет записан "мусор" а не ноль.

так?
Evg
Эксперт CАвтор FAQ
17462 / 5700 / 361
Регистрация: 30.03.2009
Сообщений: 15,639
Записей в блоге: 26
16.07.2009, 16:47     Недозаполненный массив #28
Цитата Сообщение от delias Посмотреть сообщение
выходит пример что нам дали не правильный? :
int a[5]={1,2,3};
следовательно:
a: 1 2 3 0 0
потому как этот массив вначале должен быть обнулён, а если не обнулить то в ячейках 3 и 4 будет записан "мусор" а не ноль.

так?
Можешь внятно поставить вопрос? Идём уже на третий круг, а всё равно непонятно, что ты хочешь выяснить

C
1
int a[5]={1,2,3};
эквивалентно

C
1
2
3
4
5
6
int a[5];
a[0] = 1;
a[1] = 2;
a[2] = 3;
a[3] = 0;
a[4] = 0;
Т.е. при такой записи массива (int a[5]={1,2,3}) ВСЕ его элементы будут проинициализированы и мусора не будет
delias
4 / 4 / 0
Регистрация: 16.07.2009
Сообщений: 87
16.07.2009, 17:09  [ТС]     Недозаполненный массив #29
Т.е. при такой записи массива (int a[5]={1,2,3}) ВСЕ его элементы будут проинициализированы и мусора не будет
да, точно.
тогда вопрос следующий, почему мусор сохраняется в этом случае:
C++
1
2
3
4
5
6
7
8
9
10
const int o=5;
int c[o],i;
for (i=0;i<3;i++)
{
c[i]=i;
}
for (i=0;i<o;i++)
{
    cout<<i<<"\t"<<c[i]<<"\n";
}
потому как это не глобальный массив?

кажется начинаю понимать - потому как в этом примере в с[3] и с[4] вообще ничего не записывается, а если указывать int с[5]={1,2,3}; то в неуказанные элементы ставится 0.

Ок, вопрос снимаю. Спасибо за помощь

Хороший у вас форум - даже никто не запинал за глупые вопросы

Ещё раз спасибо
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.07.2009, 17:15     Недозаполненный массив
Еще ссылки по теме:

Массив. Разделить на два: массив элементов с четными и массив с нечетными индексами - Pascal ABC
VII.Одномерные массивы 50. Задан массив с количеством элементов N. Сформировать два массива: в первый включить элементы исходного массива...

Вывести массив а(i, j), одномерный массив b(i) и полученный массив АВ с помощью функции Cells - VBA
Задача 1 Написать программу для решения следующей задачи: для числа n вводимого с клавиатуры (с помощью функции InputBox())...

Ввести массив А. В массив В перенести все элементы массива А, стоящие правее максимального элемента, и имеющие нечетный индекс. Массив В отсортировать - C++
Добрый Вечер! Написал первую часть программы по этому заданию&quot;Ввести массив А. В массив В перенести все элементы массива А, стоящие правее...

Двумерный массив.Дан массив 5 х 5. Определить сумму элементов тех строк, где диагональный элемент равен нулю и записать их в отдельный массив. - Turbo Pascal
помогите составить программу. во задание:Дан массив 5 х 5. Определить сумму элементов тех строк, где диагональный элемент равен нулю и...

Дан массив С (N). Нечетные элементы поместить в массив A, а четные в массив В - Pascal ABC
Ребят помогите решить задачу на паскале и на бейсике. Дан массив С (N). Нечетные элементы поместить в массив A, а четные в массив...


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

Или воспользуйтесь поиском по форуму:
Evg
Эксперт CАвтор FAQ
17462 / 5700 / 361
Регистрация: 30.03.2009
Сообщений: 15,639
Записей в блоге: 26
16.07.2009, 17:15     Недозаполненный массив #30
> Ок, вопрос снимаю

Вот и хорошо
Yandex
Объявления
16.07.2009, 17:15     Недозаполненный массив
Ответ Создать тему
Опции темы

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