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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.60
delias
4 / 4 / 0
Регистрация: 16.07.2009
Сообщений: 87
16.07.2009, 11:20     Недозаполненный массив #1
есть массив, допустим c[n], n=8

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

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

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

C++ с клавиатуры ввести массив,во второй массив записать нечетные элементы из первого
Дан массив А(4,4). Сформировать массив В(4) из среднеарифметических значений элементов в каждой строке. C++
C++ Массив: сформировать массив C[12] так, чтобы элементы располагались следующим образом: A(1) B(1) A(2) B(2)
Массив: Все элементы массива, кратные трем, записать в одномерный массив. C++
Переписать положительные элементы массива K,кратные пяти в массив M,а остальные-в массив Q. C++
C++ Дан массив целых чисел,произвести для него следующие операции: для каждого из чисел ,входящего в массив,указать,сколько раз оно входит в массив...
C++ Ввести массив А. В массив В перенести все элементы массива А, стоящие правее максимального элемента, и имеющие нечетный индекс. Массив В отсортировать
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Evg
Эксперт С++Автор FAQ
 Аватар для Evg
16945 / 5350 / 329
Регистрация: 30.03.2009
Сообщений: 14,384
Записей в блоге: 26
16.07.2009, 11:22     Недозаполненный массив #2
> Судя из теории, остальным пяти пустым ячейкам должны присвоится значения 0

Туда ничего не должно присвоиться, т.е. там остаётся мусор. Нули должны быть только в глобальных массивах
mamedovvms
2915 / 836 / 93
Регистрация: 30.04.2009
Сообщений: 2,614
16.07.2009, 11:23     Недозаполненный массив #3
может надо нормально условие задачи написать
Monte-Cristo
 Аватар для Monte-Cristo
2807 / 1372 / 30
Регистрация: 07.03.2009
Сообщений: 4,446
16.07.2009, 11:29     Недозаполненный массив #4
delias, в том случае, если перед работой с массивом, ты обнулишь весь массив.
Paulie
Айхрень...
 Аватар для Paulie
306 / 174 / 4
Регистрация: 02.06.2009
Сообщений: 1,078
16.07.2009, 11:29     Недозаполненный массив #5
delias, после инициализации массива нужно сразу ручками его ноликами забить

Иначе там могут находиться любые данные
Цитата Сообщение от Evg Посмотреть сообщение
там остаётся мусор.
Monte-Cristo
 Аватар для Monte-Cristo
2807 / 1372 / 30
Регистрация: 07.03.2009
Сообщений: 4,446
16.07.2009, 11:41     Недозаполненный массив #6
#Мессир, ну я имел ввиду настраивать или вручну, или использовать специальный plugin/utilities/etc..
mamedovvms
2915 / 836 / 93
Регистрация: 30.04.2009
Сообщений: 2,614
16.07.2009, 11:45     Недозаполненный массив #7
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
using namespace std; 
 
      int main()
      {int c[8];
       int n=5;
        for (int i=0; i<8; i++)
            c[i]=0;
        
        for(int i=0; i<n; i++)
            c[i]=i;
        for (int i=0; i<8; i++)
           cout << c[i] <<' ';
          }
не судите строго за код второй день изучаю с++
Paulie
Айхрень...
 Аватар для Paulie
306 / 174 / 4
Регистрация: 02.06.2009
Сообщений: 1,078
16.07.2009, 11:47     Недозаполненный массив #8
Цитата Сообщение от Monte-Cristo Посмотреть сообщение
#Мессир, ну я имел ввиду настраивать или вручну, или использовать специальный plugin/utilities/etc..
А это точно пошло в ту тему??)))
mamedovvms
2915 / 836 / 93
Регистрация: 30.04.2009
Сообщений: 2,614
16.07.2009, 11:48     Недозаполненный массив #9
если его можно как то оптимизировать то пишите буду рад любому коду
delias
4 / 4 / 0
Регистрация: 16.07.2009
Сообщений: 87
16.07.2009, 11:48  [ТС]     Недозаполненный массив #10
я понял, значит обнулим вначале циклом
плагины пока не хочу использовать чтобы не забегать вперёд.
вопрос появился потому как на лекциях один из данных преподавателем примеров выглядел так:
C
1
int a[5]={1,2,3};
следовательно:
a: 1 2 3 0 0 0

а когда столкнулся с этим на практике решая задачу (в третий массив записать одинаковые значения из первых двух массивов), нужно было вывести три числа записанные в массив а ноли не выводить, то оказалось что там не ноли вовсе а мусор
пришлось поставить такое условие:
C
1
2
3
4
if (c[i]!=-858993460) //как изменить на ноль???!!!!
//  {
//      cout<<"chislo "<<c[i]<<" povtoryaetsya i zapisano v ryad "<<i<<"\n";
//  }
mamedovvms
2915 / 836 / 93
Регистрация: 30.04.2009
Сообщений: 2,614
16.07.2009, 11:50     Недозаполненный массив #11
так ты сделал то что надо было или нет
Evg
Эксперт С++Автор FAQ
 Аватар для Evg
16945 / 5350 / 329
Регистрация: 30.03.2009
Сообщений: 14,384
Записей в блоге: 26
16.07.2009, 12:45     Недозаполненный массив #12
Вместо:

C++
1
2
3
4
5
{int c[8];
...
        for (int i=0; i<8; i++)
            c[i]=0;
...
лучше написать

C++
1
int c[8] = { 0 };
Смысл констант в фигурных скобках, когда их меньше, чем элементов в масиве - первые элементы заполняются константами, остальные - нулями

C
1
2
int c[8] = { 1 }; // c[0] = 1, остальное нули
int c[8] = { 1, 10, 100 }; // c[0] = 1, с[1] = 10, c[2] = 100, остальное нули
Paulie
Айхрень...
 Аватар для Paulie
306 / 174 / 4
Регистрация: 02.06.2009
Сообщений: 1,078
16.07.2009, 12:46     Недозаполненный массив #13
Цитата Сообщение от delias Посмотреть сообщение
я понял, значит обнулим вначале циклом
в С++ можно сделать так:

C++
1
int c[8] = {0};
и всё заполнится нулями.

P.S. Форум висел... Почему?
Evg
Эксперт С++Автор FAQ
 Аватар для Evg
16945 / 5350 / 329
Регистрация: 30.03.2009
Сообщений: 14,384
Записей в блоге: 26
16.07.2009, 12:47     Недозаполненный массив #14
Цитата Сообщение от delias Посмотреть сообщение
а когда столкнулся с этим на практике решая задачу (в третий массив записать одинаковые значения из первых двух массивов), нужно было вывести три числа записанные в массив а ноли не выводить, то оказалось что там не ноли вовсе а мусор
Ты показывай полный исходник, потому как какие-то вырезанные фрагменты не катят, ибо ошибка не в этих фрагментах
Paulie
Айхрень...
 Аватар для Paulie
306 / 174 / 4
Регистрация: 02.06.2009
Сообщений: 1,078
16.07.2009, 12:47     Недозаполненный массив #15
Цитата Сообщение от Evg Посмотреть сообщение
int c[8] = { 0 };
упс, я опоздал )
mamedovvms
2915 / 836 / 93
Регистрация: 30.04.2009
Сообщений: 2,614
16.07.2009, 12:49     Недозаполненный массив #16
Цитата Сообщение от Evg Посмотреть сообщение
int c[8] = { 0 };
тоесть вот так заполняется нулями весь массив???
Evg
Эксперт С++Автор FAQ
 Аватар для Evg
16945 / 5350 / 329
Регистрация: 30.03.2009
Сообщений: 14,384
Записей в блоге: 26
16.07.2009, 12:50     Недозаполненный массив #17
Цитата Сообщение от mamedovvms Посмотреть сообщение
тоесть вот так заполняется нулями весь массив???
Да. В конце поста #12 я объяснил, как эта конструкция работает
RazorQ
 Аватар для RazorQ
576 / 343 / 9
Регистрация: 06.02.2009
Сообщений: 1,386
16.07.2009, 13:12     Недозаполненный массив #18
Вот так можно создать массив и обнулить
C++
1
int mas[10] = {0};
Evg
Эксперт С++Автор FAQ
 Аватар для Evg
16945 / 5350 / 329
Регистрация: 30.03.2009
Сообщений: 14,384
Записей в блоге: 26
16.07.2009, 13:18     Недозаполненный массив #19
Цитата Сообщение от RazorQ Посмотреть сообщение
Вот так можно создать массив и обнулить
C++
1
int mas[10] = {0};
По-моему пора начинать конкурс боянистов
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.07.2009, 13:20     Недозаполненный массив
Еще ссылки по теме:

Массив: найти номера столбцов с положительными элементами и записать их в одномерный массив C++
C++ Файл: Загрузка данных из файла: первый столбец записывался в 1й массив, второй столбец - во 2й массив, а 3й столбец - в 3й массив.
C++ Дан массив. Записать во второй массив все элементы, не совпадающие с минимальным
Сжать массив, выбросив из него отрицательные элементы - массив становится пустым C++
Заполнить массив первыми ста простыми числами, и вывести массив на экран C++

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

Или воспользуйтесь поиском по форуму:
Paulie
Айхрень...
 Аватар для Paulie
306 / 174 / 4
Регистрация: 02.06.2009
Сообщений: 1,078
16.07.2009, 13:20     Недозаполненный массив #20
Evg, у человека, может, форум глючит... я это сообщение минут 10 пытался отправить, пока форум висел и тоже опоздал....
Yandex
Объявления
16.07.2009, 13:20     Недозаполненный массив
Ответ Создать тему
Опции темы

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