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

задачи по С++ - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Что такое конструктор? http://www.cyberforum.ru/cpp-beginners/thread1491655.html
Конструктор - это такие детали , как map , player, enemy.Я правильно понял?
C++ Вывести студентов, имеющих средний балл от 3 до 4.5 Простая программа, вывода студентов (до 20 человек), имеющих средний балл от 3 до 4.5. Кто скинет исходник, буду оч благодарен пацы. http://www.cyberforum.ru/cpp-beginners/thread1491642.html
C++ Найти ошибку при формировании нового массива из двух
#include <iostream> using namespace std; int main() { int arr1, arr2, rez; printf ("Vvedite elementi 1 massiva (cherezprobel):"); for(int i=0; i<10; ++i) { scanf ("%d",&arr1); }
C++ Как использовать DAO без MFC (дайте простенький примерчик)
Всем здрасьте. У меня Win XP без офиса ( т.е. MS Office никогда не было), короче голый windows и без FrameWork, но dll-ка DAO, я смотрю, есть. Буду использовать VS 2010 Пожалуйста помогите с примерчиком и литературу для порлного счастья. Спасибо
C++ Сортировка выбором по возрастанию http://www.cyberforum.ru/cpp-beginners/thread1491628.html
Провести сортировку элементов массива больших числа С по возрастанию методов сортировки с выбором. Элементы удовлетворяющие условию должны оказаться вначале массива. Ввод числа С организовать с клавиатуры. Сортировку массива оформить ввиде функции. #include <cstdlib> #include <iostream> #include <fstream> using namespace std; double sort(double *mass, int n, int c) { ...
C++ Сформировать массив расположив элементы на главной диагонали Задан массив А(50)(50). Сформировать из него массив BB(50)(50), расположив элементы массива АА на главной диагонали. Значения остальных элементов массива ВВ обнулить подробнее

Показать сообщение отдельно
hoggy
6427 / 2645 / 458
Регистрация: 15.11.2014
Сообщений: 5,834
Завершенные тесты: 1
02.07.2015, 11:54     задачи по С++
Цитата Сообщение от LegchylinIlya Посмотреть сообщение
а не "Введите".
действительно.

простите мне мою невнимательность.

а я уже накидал вариант для ввода в одну строку.
может пригодится кому нибудь.

http://rextester.com/MBW38071

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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
#include <iostream>
#include <string>
#include <vector>
#include <numeric>
 
using str = std::string;
 
 
// --- разбирает входную строку на токены, 
// которые помещает в указанный контейнер
template <class ContainerT>
void tokenize(const str& text, ContainerT& tokens, const str& delimiters = " ",  bool trimEmpty = false)
{
   std::string::size_type pos, lastPos = 0;
 
   while(true)
   {
      pos = text.find_first_of(delimiters, lastPos);
       
      if(pos == std::string::npos)
      {
         pos = text.length();
 
         if(pos != lastPos || !trimEmpty)
             tokens.emplace_back(text.data()+lastPos, pos-lastPos );
         break;
      }
      else
      {
         if(pos != lastPos || !trimEmpty)
            tokens.emplace_back(text.data()+lastPos,pos-lastPos );
      }
 
      lastPos = pos + 1;
   }
}
 
void main()
{
    const size_t N = 5;
    int arr[N] = {};
    int sum = 0;
    double arithmetic_mean=0.0;
    
    std::string input;
    
    
    std::cout << "Введите числа через запятую:\n";
    
    // --- учитываем ситуацию: в исходной строке могут быть пробелы
    std::getline(std::cin, input); 
    
    
    std::cout << "Введенные данные: " << input << std::endl;
    
    
    //--- разбиваем строку на токены
    const std::string punctuations = ", ";
    const bool trimEmpty = true;    
    std::vector<std::string> tokens;
    tokenize(input, tokens, punctuations, trimEmpty);
    
    //--- извлекаем числа, и заполняем массив
    size_t i=0;
    for(const auto& t: tokens)
        arr[i] = std::stoi(t), 
        ++i;
    
    //--- подсчитываем среднее арифметическое
    const auto summ = std::accumulate(arr, arr+N, 0);
    
    arithmetic_mean = summ / static_cast<double>(N);
    
    //--- вывод результатов
    
    std::cout << "Ваш массив: ";
    for(int i=0; i<N-1; ++i)
        std::cout << arr[i] << ", ";
    std::cout << arr[N-1] << '\n';
    
    std::cout<<"Сумма элементов массива: "<< summ <<'\n';
    
    std::cout << "Среднее арифметическое: " 
        << arithmetic_mean << "\n\n";
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru