1. Требуются разработчики и тестеры для проекта codebyOS. Требования для участия в проекте: Знание принципов работы ОС на базе Linux; Знание Bash; Крайне желательное знание CPP, Python, Lua; Навыки системного администрирования. Подробнее ...

    Скрыть объявление

Сформировать Новый Массив Из Элементов Массива, Значения Которых = 0

Тема в разделе "Общие вопросы по С и С++", создана пользователем Liori, 30 ноя 2014.

  1. Liori

    Liori New Member

    Репутация:
    0
    Регистрация:
    30 ноя 2014
    Сообщения:
    3
    Симпатии:
    0
    Помогите! Как исправить код? Ошибка (выход за границы массива)

    Код:
    #include "stdafx.h"
    #include <iostream>
    #include <vector>
    using namespace std;
    
    
    int main(int argc, char* argv[])
    {
    int N;
    cout << "Vvod: ";
    cin >> N;
    vector<int> mass(N);
    
    for (int i = 0; i < N;i++)
    {
    
    cin >> mass[i];
    
    }
    int k = 0;
    vector<int> mass2(k);
    
    for (int i = 0; i < N; i++)
    {
    if (mass[i] == 0) 
    {
    k++;
    for (int j = 0; j < k; j++)
    {
    mass2[j] = i;
    }
    }
    
    }
    
    cout << "\nVivod: \n";
    for (int i = 0; i < k;i++)
    {
    cout << mass2[k] << " ";
    
    cout << "\n";
    
    }
    system("pause");
    return 0;
    }
     
  2. Whatka

    Whatka Well-Known Member

    Репутация:
    0
    Регистрация:
    9 окт 2011
    Сообщения:
    428
    Симпатии:
    4
    замени в последнем цикле индекс
    Код:
     cout << mass2[k] << " ";
    не k а i.
    Для добавления элемента используй функцию push_back(...)

    Код:
    	
    for (int i = 0; i < N; i++)
    {
    if (mass[i] == 0)
    {
    k++;
    mass2.push_back(i);
    }
    }
     
Загрузка...

Поделиться этой страницей