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

Ошибка в коде(программа с вектором выполняется только если вызвать её второй раз) - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Проверить корректность реализации нескольких задач http://www.cyberforum.ru/cpp-beginners/thread1226142.html
Добрый вечер всем. Вопрос относиться к опытным программистам С++. Вопрос такой. Я хотел устроится на вакансию Junior Developer C++, мне прислали тестовые задания: Задача 1. 1. Распечатать произвольное число в двоичной системе исчисления.
C++ Операция delete в векторе Привет, друзья, делаю маленькую игрушку, там у меня постоянно появляются и уничтожаются новые объекты, и я заметил такую вещь: со временем игра начинает галить, хотя количество объектов одновременно существующих на экране не становится больше. Что это может быть? Единственное, что приходит в голову - то, что память на самом деле не освобождается после уничтожения объекта, значит я неправильно... http://www.cyberforum.ru/cpp-beginners/thread1226141.html
C++ Как сделать чтобы цвет текста плавно менялся
Как сделать чтобы цвет текста плавно переливался? void RenderDVD(void) { int left, top; left = 1; top = pPresentParam.BackBufferHeight - 45; pD3DFont->PrintShadow(left, top, D3DCOLOR_XRGB(rand() % 255, rand() % 255, rand() % 255), "Разработчик Дима");
C++ Нужны ли в реальной практике массивы?
Вопрос такой: нужны ли в реальной практике массивы? Или это лишь пережиток С? Имеют ли массивы реальные преимущества перед векторами, например? Почему спрашиваю - сейчас изучаю STL алгоритмы, такие как sort(), reverse(), find() и проч. и кажется это все очень удобным при использовании с векторами. Так нужны ли массивы после этого?
C++ Как вывести символ в любое место экрана? http://www.cyberforum.ru/cpp-beginners/thread1226088.html
Речь идёт о консольной программе. Поиск на форуме в этом отношении ничего не дал. Говорится о формах, о текстовых полях и иных объектах объектно-ориентированного программирования. Наверняка кто-то знает, операторы или функции, которые перемещают курсор в нужную точку и далее можно выводить символ, число, текст
C++ Отсортировать массив строк и вывести информацию соответствующую условию Ведомость содержит информацию: номер группы, фамилия и инициалы студента, оценки по 3 предметам. Вывести в алфавитном порядке фамилии студентов, которые имеют хотя бы одну двойку (заборгованість?) Определить средний балл в группе программирования. Добавлено через 27 секунд //--------------------------------------------------------------------------- #include <vcl.h> #include... подробнее

Показать сообщение отдельно
zss
Модератор
Эксперт С++
 Аватар для zss
5953 / 5558 / 1787
Регистрация: 18.12.2011
Сообщений: 14,204
Завершенные тесты: 1
11.07.2014, 19:47     Ошибка в коде(программа с вектором выполняется только если вызвать её второй раз)
У меня все работает как надо (с указанным исправлением):
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
32
33
34
35
36
37
38
39
40
41
42
#include <iostream>
#include <locale>
#include <string>
#include <vector>
using namespace std;
string buffer = "";
    int ch = 0;
    const string endmsg = "";
    unsigned int vector_Size;
    int i = 0;
    vector<string> names;
 
  void vInputing() 
  { //Ввод данных в вектор
        cout << "Вводите имена(только имя), в конце ввода оставьте пустую строку" << endl;
        do 
        {
            getline(cin, buffer); //Получить строку буфер
            if (buffer.size() > 0) // Если его размер больше 0
            {
                names.push_back(buffer);
            }
         } while (buffer != ""); // Делать пока в буфере не напишут пустую строку
  }
  void vInit() 
  {
        vInputing(); // Ввод вектора
        vector_Size = names.size();
        cout << "Ваш вектор names: " << endl;
        for (i=0; i < vector_Size; i++)
        {
            cout << i + 1 << ":  " << names[i] << endl;  // Вывод вектора
        }
        cout << "end" << endl; // Сообщение о конце записи
           //wrOrNot();
    } 
int main()
{
    vInit();
    system("PAUSE");    
    return 0;
}
 
Текущее время: 00:38. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru