Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/18: Рейтинг темы: голосов - 18, средняя оценка - 4.83
8 / 8 / 2
Регистрация: 08.11.2009
Сообщений: 78

Работа с вектором

07.03.2011, 08:19. Показов 3344. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Задание:
Вектор В[1:20] сформировать из целых случайных чисел в диапазоне [-10 10].
а) найти минимальный элемент вектора.
б) найти произведение Р ненулевых элементов.
в) вставить за min элементом произведение ненулевых элементов.
г) найти номер максимального из 10 последних элементов вектора

Заранее благодарен...
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
07.03.2011, 08:19
Ответы с готовыми решениями:

Работа с вектором
Здравствуйте! Помогите, пожалуйста разобраться..я только изучаю язык. Как в данной программе реализовать графический интерфейс? Чтобы...

Работа с вектором
Помогите разобраться что к чему, примеров найти не смог: Спасибо.

Работа с вектором из класса
Доброго времени суток ! Не до конца понимаю "Как это работает"© Есть вектор указателей, объявленный в main() ...

3
 Аватар для zulkis
686 / 613 / 43
Регистрация: 13.01.2011
Сообщений: 1,722
07.03.2011, 10:35
Если именно по пунктам подряд. Т.е сначала в) - вставляем произведение, затем г) ищем уже в измененном векторе
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
#include <iostream>
#include <vector>
#include <windows.h>
 
using namespace std;
 
int main()
{
    int minimal = 20, pos, multi=1, maximal=-20;
    vector<int> V;
    vector<int>::iterator it;
    for (int i = 0; i < 20; ++i){
        V.push_back(rand()%21-10);
        if(V.at(i)<minimal){
            minimal = V.at(i);
            pos = i;}
        if(V.at(i)!=0)
            multi *=V.at(i);
    }
 
    cout << "minimal: " <<  minimal << " at " << pos << endl;
    it = V.begin();
    V.insert(it + pos,multi);
 
    for (it = V.begin(); it < V.end(); ++it){
        cout << *it << " ";
        if(*it > maximal && (it - V.begin()) > 10){
            maximal = *it;
            pos = it - V.begin();
        }
    }
    cout << endl;
    cout << "maximal: "<< maximal << " at " << pos << endl;
 
    system("pause");
 
    return 0;
}
1
 Аватар для lemegeton
4903 / 2696 / 921
Регистрация: 29.11.2010
Сообщений: 5,783
07.03.2011, 11:27
Лучший ответ Сообщение было отмечено как решение

Решение

И еще извращение на тему.
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
#include <cstdlib>
#include <ctime>
#include <cstdio>
#include <vector>
#include <algorithm>
#include <numeric>
 
int RandomGenerator() {
    return rand() % 21 - 10;
}
 
void Print(int value) { printf("%3d ", value); }
 
int MultiplyNonZero(int a, int b) {
  return ((b == 0) ? a : a*b);
}
 
int main(int argc, char *argv[]) {
  std::vector<int> array(20);
  srand(time(NULL));
  std::generate(array.begin(), array.end(), RandomGenerator);
  std::for_each(array.begin(), array.end(), Print);
  printf("\n");
 
  int multiplication = std::accumulate(array.begin(), array.end(), 1,
                                       MultiplyNonZero);
  std::vector<int>::iterator min = std::min_element(array.begin(),
                                                    array.end());
  if (min != array.end() - 1)
    array.insert(min + 1, multiplication);
  else
    array.push_back(multiplication);
 
  std::for_each(array.begin(), array.end(), Print);
  printf("\n");
  printf("Max of last ten: %d\n", *std::max_element(array.end() - 10,
                                                    array.end()));
  return 0;
}
3
 Аватар для zulkis
686 / 613 / 43
Регистрация: 13.01.2011
Сообщений: 1,722
07.03.2011, 11:37
lemegeton, у меня смутное предчувствие, что sir_90115 даже разбирать его не будет
А вот я посмотрю... Спасибо )

Upd: Круто, все как в примерах
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
07.03.2011, 11:37
Помогаю со студенческими работами здесь

Работа с вектором с помощью итераторов
Вобщем, у меня есть вектор объектов, и задали задание работать с этим вектором с помощью итераторов. #include &lt;vector&gt; ...

Работа со string, который под вектором
Не могу никак понять как удалить символ из строчки, которая является элементом вектора. Честно гуглил и в русском, и в английском...

Не правильная работа memcpy с вектором - параметром функции
Есть функция int InitX( CUSTOMVERTEX InVertexes, int VertexCount ) { //... void* pBV; memcpy(pBV,...

задание с вектором
//напишите программу, где создается вектор из 10 элементов. При помощи итератора присвойте //каждому элементу значение, которое вдвое...

помошь с вектором
Есть вектор в который записываются записи вот в таком стиле &quot;3928200016&quot; &quot;00000140970&quot; &quot;Напильник плоский 21*5*200 №1 ГОСТ...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru