Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
5 / 5 / 0
Регистрация: 16.07.2009
Сообщений: 87
1

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

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

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

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

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

не совсем понятно, в каком случае незаполненные ячейки станут нулями
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.07.2009, 11:20
Ответы с готовыми решениями:

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

Массив: Объединить заданные массивы в один массив, включив второй массив между k-м и (k+1)-м элементами первого
Заданы два одномерных массива с различным количеством элементов и натуральное число k. Объединить...

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

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

29
Evg
Эксперт CАвтор FAQ
21117 / 8133 / 628
Регистрация: 30.03.2009
Сообщений: 22,448
Записей в блоге: 30
16.07.2009, 11:22 2
> Судя из теории, остальным пяти пустым ячейкам должны присвоится значения 0

Туда ничего не должно присвоиться, т.е. там остаётся мусор. Нули должны быть только в глобальных массивах
0
2920 / 841 / 324
Регистрация: 30.04.2009
Сообщений: 2,633
16.07.2009, 11:23 3
может надо нормально условие задачи написать
0
2806 / 1396 / 107
Регистрация: 07.03.2009
Сообщений: 4,446
16.07.2009, 11:29 4
delias, в том случае, если перед работой с массивом, ты обнулишь весь массив.
0
Айхрень...
306 / 176 / 7
Регистрация: 02.06.2009
Сообщений: 1,078
16.07.2009, 11:29 5
delias, после инициализации массива нужно сразу ручками его ноликами забить

Иначе там могут находиться любые данные
Цитата Сообщение от Evg Посмотреть сообщение
там остаётся мусор.
0
2806 / 1396 / 107
Регистрация: 07.03.2009
Сообщений: 4,446
16.07.2009, 11:41 6
#Мессир, ну я имел ввиду настраивать или вручну, или использовать специальный plugin/utilities/etc..
0
2920 / 841 / 324
Регистрация: 30.04.2009
Сообщений: 2,633
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] <<' ';
          }
не судите строго за код второй день изучаю с++
0
Айхрень...
306 / 176 / 7
Регистрация: 02.06.2009
Сообщений: 1,078
16.07.2009, 11:47 8
Цитата Сообщение от Monte-Cristo Посмотреть сообщение
#Мессир, ну я имел ввиду настраивать или вручну, или использовать специальный plugin/utilities/etc..
А это точно пошло в ту тему??)))
0
2920 / 841 / 324
Регистрация: 30.04.2009
Сообщений: 2,633
16.07.2009, 11:48 9
если его можно как то оптимизировать то пишите буду рад любому коду
0
5 / 5 / 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";
//  }
0
2920 / 841 / 324
Регистрация: 30.04.2009
Сообщений: 2,633
16.07.2009, 11:50 11
так ты сделал то что надо было или нет
0
Evg
Эксперт CАвтор FAQ
21117 / 8133 / 628
Регистрация: 30.03.2009
Сообщений: 22,448
Записей в блоге: 30
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, остальное нули
0
Айхрень...
306 / 176 / 7
Регистрация: 02.06.2009
Сообщений: 1,078
16.07.2009, 12:46 13
Цитата Сообщение от delias Посмотреть сообщение
я понял, значит обнулим вначале циклом
в С++ можно сделать так:

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

P.S. Форум висел... Почему?
0
Evg
Эксперт CАвтор FAQ
21117 / 8133 / 628
Регистрация: 30.03.2009
Сообщений: 22,448
Записей в блоге: 30
16.07.2009, 12:47 14
Цитата Сообщение от delias Посмотреть сообщение
а когда столкнулся с этим на практике решая задачу (в третий массив записать одинаковые значения из первых двух массивов), нужно было вывести три числа записанные в массив а ноли не выводить, то оказалось что там не ноли вовсе а мусор
Ты показывай полный исходник, потому как какие-то вырезанные фрагменты не катят, ибо ошибка не в этих фрагментах
0
Айхрень...
306 / 176 / 7
Регистрация: 02.06.2009
Сообщений: 1,078
16.07.2009, 12:47 15
Цитата Сообщение от Evg Посмотреть сообщение
int c[8] = { 0 };
упс, я опоздал )
0
2920 / 841 / 324
Регистрация: 30.04.2009
Сообщений: 2,633
16.07.2009, 12:49 16
Цитата Сообщение от Evg Посмотреть сообщение
int c[8] = { 0 };
тоесть вот так заполняется нулями весь массив???
0
Evg
Эксперт CАвтор FAQ
21117 / 8133 / 628
Регистрация: 30.03.2009
Сообщений: 22,448
Записей в блоге: 30
16.07.2009, 12:50 17
Цитата Сообщение от mamedovvms Посмотреть сообщение
тоесть вот так заполняется нулями весь массив???
Да. В конце поста #12 я объяснил, как эта конструкция работает
1
587 / 354 / 15
Регистрация: 06.02.2009
Сообщений: 1,386
16.07.2009, 13:12 18
Вот так можно создать массив и обнулить
C++
1
int mas[10] = {0};
0
Evg
Эксперт CАвтор FAQ
21117 / 8133 / 628
Регистрация: 30.03.2009
Сообщений: 22,448
Записей в блоге: 30
16.07.2009, 13:18 19
Цитата Сообщение от RazorQ Посмотреть сообщение
Вот так можно создать массив и обнулить
C++
1
int mas[10] = {0};
По-моему пора начинать конкурс боянистов
1
Айхрень...
306 / 176 / 7
Регистрация: 02.06.2009
Сообщений: 1,078
16.07.2009, 13:20 20
Evg, у человека, может, форум глючит... я это сообщение минут 10 пытался отправить, пока форум висел и тоже опоздал....
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.07.2009, 13:20

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

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

Массив: Преобразовать массив, прибавив к четным числам, входящим в массив, значение первого элемента.
Есть задача С клавиатуры вводятся элементы целочисленного массива размера N. Преобразовать его,...

Задан массив. Составить алгоритм и программу, которая выводит исходный массив и массив, полученный в результате выполнен
Задан массив. Составить алгоритм и программу, которая выводит исходный массив и массив, полученный...

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


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

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