Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.09.2015, 21:44   #1
AlFina
Новичок
Джуниор
 
Регистрация: 16.09.2015
Сообщений: 4
По умолчанию Откуда берутся космически большие цифры в массиве?

Код:
#include <iostream>
#include <iomanip>

using namespace std;

int main()
{
    setlocale (LC_ALL, "RUS");
    int n[10];
    for (int i = 1; i <= 10; i++)
        n[i] = n[i] + 1;
    cout << "Элемент" << setw(13) << "значение" << endl;
    for (int i = 0; i < 10; i++)
        cout << setw(7) << i << setw(13) << n[i] << endl;
    return 0;
}
У меня должно быть 0 1 1 2 и т.д. только в столбик
И почему такой маленький код так долго комплиментируется?

Последний раз редактировалось Stilet; 17.09.2015 в 09:02.
AlFina вне форума Ответить с цитированием
Старый 16.09.2015, 21:52   #2
Croessmah
Вредный кошак
Участник клуба
 
Аватар для Croessmah
 
Регистрация: 14.10.2012
Сообщений: 1,159
По умолчанию

Код:
int n[10];//Массив из 10-ти элементов, так что индексы [0,9]
for (int i = 1; i <= 10; i++)//Соответственно при i == 10
   n[i] = n[i] + 1;//пишем за пределы массива, также неизвестно чему равно n[i], т.к. никто не инициализировал элементы массива
Croessmah вне форума Ответить с цитированием
Старый 16.09.2015, 21:55   #3
AlFina
Новичок
Джуниор
 
Регистрация: 16.09.2015
Сообщений: 4
По умолчанию

Я знаю что индексы от 0 до 9. Непонятно почему у массива значения из огромных цифр, если массиву с индексом 0 я даю значение 1, а дальше знаечние предыдущего элемента + 1. Т.е. 1,2,3 и т.д.
AlFina вне форума Ответить с цитированием
Старый 16.09.2015, 22:09   #4
type_Oleg
Старожил
 
Аватар для type_Oleg
 
Регистрация: 02.03.2008
Сообщений: 2,499
По умолчанию

Цитата:
Сообщение от AlFina Посмотреть сообщение
.. если массиву с индексом 0 я даю значение 1...
Где ? Покажите, каким оператором.

И не массиву с индексом .. , а элементу массива с индексом.

И не знаечние предыдущего элемента + 1 , а значение самого себя + 1

А космически большие числа - из памяти, которую отвели под массив, но ни одного элемента не инициализировали, то есть ничего не присвоили. Вот и берется то, что там было.

Последний раз редактировалось type_Oleg; 16.09.2015 в 22:12.
type_Oleg вне форума Ответить с цитированием
Старый 16.09.2015, 22:29   #5
AlFina
Новичок
Джуниор
 
Регистрация: 16.09.2015
Сообщений: 4
По умолчанию

Значит я ошиблась))) Но всё равно не понимаю где...

n[i] = 1; так?
а дальше тогда n[i] = n[i] + 1??

надо было идти в гуманитарный

Последний раз редактировалось Stilet; 17.09.2015 в 09:02.
AlFina вне форума Ответить с цитированием
Старый 16.09.2015, 22:46   #6
type_Oleg
Старожил
 
Аватар для type_Oleg
 
Регистрация: 02.03.2008
Сообщений: 2,499
По умолчанию

Цитата:
Сообщение от AlFina Посмотреть сообщение
n[i] = 1; так?
а дальше тогда n[i] = n[i] + 1??
Нет. То, что написано, значит - " взять элемент номер i , прибавить к нему 1, и результат записать в тот же элемент номер i "

Кстати, непонятно, чему должен быть равен нулевой элемент, то ли 0, как писали в начале, то ли 1, как писали потом. Что-то вы в показаниях путаетесь..

Ладно, если 0, то перед циклом
Код:
n[0]=0;
А уже в цикле, вместо n[i] = n[i] + 1 вот это
Код:
n[i]=n[i-1]+1;
type_Oleg вне форума Ответить с цитированием
Старый 16.09.2015, 23:32   #7
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

Цитата:
надо было идти в гуманитарный
надо было идти замуж!

Как звучит оригинал задания?
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 16.09.2015, 23:35   #8
type_Oleg
Старожил
 
Аватар для type_Oleg
 
Регистрация: 02.03.2008
Сообщений: 2,499
По умолчанию

[QUOTE=min@y™;1534885]надо было идти замуж!
..за программиста.
type_Oleg вне форума Ответить с цитированием
Старый 17.09.2015, 06:08   #9
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
По умолчанию

Цитата:
Сообщение от AlFina Посмотреть сообщение
И почему такой маленький код так долго комплиментируется?
Наверное потому, что думаете о комплиментах, а не о числах Фибоначчи .

Код:
#pragma hdrstop
#include <iostream>
#include <iomanip>
#include <stdlib.h>
using namespace std;

int main()
{
setlocale (LC_ALL, "RUS");
int n[10];
int a=0, b=1;
for (int i = 0; i <= 10; i++)
{
  n[i]=a;
  b = b + a;
  a = b - a;
}
cout << "Элемент" << setw(13) << "значение" << endl;
for (int i = 0; i < 10; i++)
cout << setw(7) << i << setw(13) << n[i] << endl;
system("PAUSE");
return 0;
}
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder

Последний раз редактировалось Smitt&Wesson; 17.09.2015 в 06:16.
Smitt&Wesson вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Откуда берутся "тики" Stopwatch.Frequency lawliet93 C# (си шарп) 9 27.03.2014 19:46
В массиве поставить вначале все четные, а затем все нечетные цифры в массиве (Написать программу в коде делфи) Murfik97 Помощь студентам 4 26.11.2013 21:26
Откуда берутся расширения у файлов Ципихович Эндрю Общие вопросы по программированию, компьютерный форум 38 29.07.2012 10:56
Откуда берутся милионные при простых операциях mrMad-Cat Microsoft Office Excel 2 07.02.2012 16:56
Откуда такие астрономические цифры? Fitch573 Помощь студентам 6 13.01.2012 20:27