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

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

Войти
Регистрация
Восстановить пароль
 
Amator
1036 / 368 / 9
Регистрация: 11.11.2008
Сообщений: 3,167
Завершенные тесты: 2
#1

Ошибка при заполнении - C++

28.11.2011, 20:40. Просмотров 668. Ответов 10
Метки нет (Все метки)

Помогите определить где ошибка, так как какое число я не ввожу выводится в конце именно оно. Как мне кажется я ошибаюсь при заполнении массива.
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
// schitalka.cpp: определяет точку входа для консольного приложения.
//
 
#include "stdafx.h";
 
 
using namespace std;
int circle[10], players, winner, wordsq;
int main()
{
setlocale(LC_ALL, ".1251");
cout << "Введите количество игроков не больше 10\n";
cin >> players;
if (players>10)
{
    cout << "Количество игроков слишком большое\n";
    system("pause");
    return 0;
}
 
for(int i=0; i<players; i++)
{
    for(int p=1; p<=players; p++)
    {
        circle[i] = p;
    }
}
winner = circle[3];
cout << winner;
system("pause");
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.11.2011, 20:40
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Ошибка при заполнении (C++):

Ошибка при заполнении массива - C++
Помогите пожалуйста решить проблему: Это программа для игры в крестики нолики. В первой функции void instruction() необходимо вывести...

Ошибка при заполнении матрицы - C++
доброго времени суток! Будьте добры помогите! Вот код: T_complex** calc_Fullfield(T_complex *fr, double fr_begin, double fr_end,...

Ошибка при заполнении массива - C++
Объявляю и пытаюсь заполнить так: TArray__1&lt;System::Byte&gt; *buffer; buffer = new TArray__1 &lt;System::Byte&gt; (6); buffer='r'; ...

ошибка при заполнении массива - C++
хочу заполнить массивы класса (и сразу же записать в файл), если выбрать количество записей - 1, то все работает нормально, но больше...

Ошибка исполнения при заполнении массива - C++
Программа работы с квадратными матрицами. Используются динамические массивы. Задание из вуза. Использование функций запрещено по...

Ошибка при заполнении двусвязного списка - C++
При выполнении данного алгоритма, выдает ошибку. Буду рад любой помощи struct tree { int info; tree *right; tree...

10
Net_Wanderer
235 / 208 / 19
Регистрация: 08.06.2011
Сообщений: 467
28.11.2011, 20:52 #2
подумайте, какое значение будет иметь circle[i] после выполнения этого цикла:
C++
1
2
3
4
        for(int p=1; p<=players; p++)
        {
                circle[i] = p;
        }
при том, что на протяжении всего цикла, i - остается неизменным
1
Amator
1036 / 368 / 9
Регистрация: 11.11.2008
Сообщений: 3,167
Завершенные тесты: 2
28.11.2011, 21:41  [ТС] #3
Но ведь i увеличивается. Или я сделал неправильную вложенность циклов?
C++
1
for(int i=0; i<players; i++)
Добавлено через 4 минуты
Все, вот так заработало
C++
1
2
3
4
5
6
int i = 0;
for(int p=1; p<=players; p++)
{
    circle[i] = p;
    i = i++;
}
0
Net_Wanderer
235 / 208 / 19
Регистрация: 08.06.2011
Сообщений: 467
28.11.2011, 21:43 #4
Цитата Сообщение от Amator Посмотреть сообщение
i = i++;
зачем это?

можно просто:
C++
1
i++;
0
Amator
1036 / 368 / 9
Регистрация: 11.11.2008
Сообщений: 3,167
Завершенные тесты: 2
28.11.2011, 21:56  [ТС] #5
Я это уже исправил) Вопрос - как определить количество заполненных ячеек массива? Я пробовал
C++
1
sizeof(circle)/sizeof(int)
но так получается количество самих ячеек.
0
Net_Wanderer
235 / 208 / 19
Регистрация: 08.06.2011
Сообщений: 467
28.11.2011, 21:59 #6
Цитата Сообщение от Amator Посмотреть сообщение
Вопрос - как определить количество заполненных ячеек массива?
никак, вы сами должны следить за этим
например, хранить это количество в переменной
1
Amator
1036 / 368 / 9
Регистрация: 11.11.2008
Сообщений: 3,167
Завершенные тесты: 2
28.11.2011, 22:01  [ТС] #7
И напоследок - при удаление значения ячейки через
C++
1
delete(circle[i])
происходит ли смещение всех значений для заполнения пустой ячейки?
0
Net_Wanderer
235 / 208 / 19
Регистрация: 08.06.2011
Сообщений: 467
28.11.2011, 22:10 #8
Цитата Сообщение от Amator Посмотреть сообщение
происходит ли смещение всех значений для заполнения пустой ячейки?
читайте о том, что такое delete
1
Amator
1036 / 368 / 9
Регистрация: 11.11.2008
Сообщений: 3,167
Завершенные тесты: 2
28.11.2011, 22:20  [ТС] #9
Так, значит это мне не подходит. Извините, за такое количество вопросов
сейчас нашел решение для своей задачи Веселая считалочка но почему то visual studio сыплет на него ошибками.
0
Net_Wanderer
235 / 208 / 19
Регистрация: 08.06.2011
Сообщений: 467
28.11.2011, 23:13 #10
Цитата Сообщение от Amator Посмотреть сообщение
но почему то visual studio сыплет на него ошибками.
покажите код и ошибки
0
Amator
1036 / 368 / 9
Регистрация: 11.11.2008
Сообщений: 3,167
Завершенные тесты: 2
29.11.2011, 22:27  [ТС] #11
Я уже сам справился) нужно было подключить еще один заголовок+я немного изменил логику, т.к. мне не нужно определять первого игрока, так что просто установил первого. Осталось более детально понять алгоритм. Мне пока не понятно
C++
1
2
3
4
5
vector <int> gamers(players);
 
gamers.erase(gamers.begin()+vib);
 
words%i - это получение остатка от деления насколько понимаю?
Добавлено через 49 минут
Еще один вопрос - ехе файлик из папки debug не запускается на других ПК вообще. Как это побороть? Видимо нужно собирать проект по другому? Использую Microsoft Visual Studio 2010

Добавлено через 21 час 44 минуты
Проблему с запуском поборол выбрав через менюшку сбору релиза. Вопросы по коду еще актуальны.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.11.2011, 22:27
Привет! Вот еще темы с ответами:

Ошибка при заполнении динамического массива - C++
#include &lt;iostream&gt; #include &lt;fstream&gt; using namespace std; int N, i, a, l; int head = -1; char ch; int *s = new int ; ...

Ошибка при заполнении массива малыми числами - C++
Привет всем! В программе необходимо использовать массив с малыми числами, порядка 1.47243e-331. Элементы массива описаны как &quot;long...

Где кроется ошибка при заполнении массива структур? - C++
У меня ввод данных в массив не происходит, только вот не пойму почему, может быть кто-нибудь подскажет, в чем кроется ошибка? Я не успеваю...

Ошибка в заполнении двумерного масс - C++
Задание: Заполнить двумерный массив 10х10 следующим образом: 91 92 93 .. .. 100 81 82 83 .. .. 90 71 72 73 .. .. 80 .. .. .. .....


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

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

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