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

Контейнер list - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Ошибки в Visual Studio http://www.cyberforum.ru/cpp-beginners/thread1307782.html
при создании даже самого простого кода, например hello world или любой программы выдаёт такие ошибки: 1>MSVCRTD.lib(crtexe.obj) : error LNK2019: ссылка на неразрешенный внешний символ __imp__EncodePointer@4 в функции _pre_c_init 1>MSVCRTD.lib(atonexit.obj) : error LNK2001: неразрешенный внешний символ "__imp__EncodePointer@4" 1>MSVCRTD.lib(atonexit.obj) : error LNK2019: ссылка на...
C++ Перегрузка шаблона: исправить код Помогите плиз с заданием: . Выполнить перегрузку шаблона для целочисленных и вещественных элементов. #include "stdafx.h" #include <iostream> #include <cstdlib> #include < conio.h> #include <cstdlib> //для rand(),srand() #include <ctime> http://www.cyberforum.ru/cpp-beginners/thread1307780.html
Написать программу вывода на экран таблицы значений функции C++
написать программу вывода на экран таблицы значений функции \sum_{n=1}^{20}\frac{{x}^{2n-2}}{4cos(n{x}^{2} для x изменяющегося от a=0.1 до b=1.2 с шагом h=0.1. Вычисление выполнить в виде функции пользователя. по идее с каждым шагом должно увеличиваться выводимое значение, но начиная с 0.7 и до 1.2 то увеличивается то уменьшается. такое возможно в данном случае или я в коде ошибся?и...
C++ Передача в функцию строк двумерного динамического массива
Создал двумерный динамический массив строк. Теперь в функцию нужно передавать на преобразование каждую строку.Как это организовать?Это нужно в цикле как то или как? Исходный код: int n,j, i = 0; char **str; char c; cout << "Введите количество строк: "; cin >> n; str = (char **)malloc(n); cout << "Введите текст:\n";
C++ Строки и символы http://www.cyberforum.ru/cpp-beginners/thread1307770.html
С помощью текстового редактора создать файл, содержащий текст, длина которого не превышает 1000 символов (длина строки текста не должна превышать 70 символов). Имя файла должно иметь расширение DAT. Написать программу, которая: • выводит текст на экран дисплея; • по нажатию произвольной клавиши поочередно выделяет каждое слово текста, начинающееся на гласную букву; • определяет количество...
C++ Работа с классами Помогите пожалуйста написать программу. Задан массив действительных чисел. Найти количество элементов, значение которых меньше максимального, но больше (max+min)/2. (работа с классами) подробнее

Показать сообщение отдельно
avers_
0 / 0 / 0
Регистрация: 13.11.2014
Сообщений: 19
22.11.2014, 17:42     Контейнер list
Добрый день!
Помогите пожалуйста разобраться, никогда раньше не работал с листом.
Задача следующая: В числовой последовательности вставить после каждого простого числа удвоенное среднее геометрическое всех элементов последовательности. Реализация при помощи STL.
Заранее Спасибо!

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
43
44
45
46
47
48
49
50
51
52
53
#include <iostream>
#include <time.h>
#include <stdlib.h>
#include <math.h>
#include <list>
#include <locale.h>
using namespace std;
bool prost(int n);
int main()
{
    setlocale(0,"RUS");
    srand(time(0));
    int elem=10;
    double sred, sum=0;
    list<double>q1;
    list<double>::iterator it;
 
    for (int i = 0; i < elem; i++){
        q1.push_back(rand()%100);
        cout<<*it<<" ";
    }
    int size=q1.size();
    for (int i=0; i<size; i++)
        sum+=*it;
    cout<<endl;
    sred=2*pow(sum, 1./elem);
    cout.precision(3);
    cout<<"Среднее геометрическое число: "<<sred<<"\nРазмер: "<<q1.size()<<endl<<endl;
    q1.push_front(q1.back());
    q1.pop_back();
    for (int i=size-2; i>=0; i--){
        if (prost(q1.back())){
            q1.pop_front();
            q1.push_front(sred);
            q1.push_front(q1.back());
            q1.pop_back();
        }
            else {q1.push_front(q1.back());
                  q1.pop_back();}
            }
    for (int i=0; i<size; i++)
        cout<<*it<<" ";
 
    cout<<endl<<endl<<"Конечный размер: "<<q1.size()<<endl<<endl;
}
bool prost(int n){
  if (n>1){
    for(int i=2;i<=n/2;i++)
        if( (n%i)==0 ) return false;
  }
  else return false;
  return true;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 00:01. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru