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

Обработка одномерных элементов - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ указатель на функцию http://www.cyberforum.ru/cpp-beginners/thread291973.html
Функция должна сортировать и по возрастанию,и по убыванию с помощью бинарных предикатов.И ещё отсортировать элементы массива по возрастанию их синуса. Программа работает только в одном случае,а для синусов вообще не работает. Объясните,в чём моя ошибка,а точнее,как сделать,чтобы функция сортировала правильно для всех трёх случаев. #include "stdafx.h" #include <conio.h> #include <iostream>...
C++ Матрица, последовательность, координаты Здравствуйте, помогите решить в Си 1) Прочитать текстовый файл и подсчитать количество слов в нём (слова разделены пробелами, запятыми и точками). Имя файла передаётся через командную строку. 2) Вводится последовательность целых чисел и записывается в двусвязный список. Удалить из этого списка элементы с минимальным значением. 3) Написать программу для определения положения точки с... http://www.cyberforum.ru/cpp-beginners/thread291972.html
C++ Умножение матриц
Задача такая : Для заданой квадратической матрицы А заданого порядка n найти произведение А * В, где элементы матрицы В узнаются за формулой : Bij = 1/(i+j-1) i.j = целые больше ноля Вот что получилось: #include <iostream> #include <cstdlib> #include <stdio.h> #include <conio.h> using namespace std;
Возврат строки из функции по указателю C++
Здравствуйте. Обьясните пожалуйсто, почему компилятор выдает предупреждение при выполнении следующего кода и почему строка возвращается не полностью ? #include "windows.h" #include <iostream> using namespace std; char *func() { char arr="stro4ka"; return arr;
C++ запись строк в многомерный массив http://www.cyberforum.ru/cpp-beginners/thread291941.html
Здравствуйте. Подскажите пожалуйсто, как записать строки в многомерный массив. Я делаю так: #include "windows.h" #include <iostream> using namespace std; int main() { char mass;//заранее созданный массив для имен
C++ Создать stl очередь, заполнить ее случайным образом и отсортировать вопрос в заголовке, заранее спасибо. подробнее

Показать сообщение отдельно
Aye Aye
367 / 281 / 36
Регистрация: 17.12.2009
Сообщений: 567
10.05.2011, 16:24     Обработка одномерных элементов
господи боже... титанический труд!
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
#include <iostream>
#include <algorithm>
#include <vector>
 
bool is_prime(const int n){
  for(int i = 2; i <= n / 2; i++)
    if( !(n % i) )
      return false;
  return true;
}
 
void print_arr(std::vector<int> &_a){
  for(std::vector<int>::value_type i = 0; i < _a.size(); ++i)
    std::cout << _a[i] << ' ';
}
struct func{
  int operator() (int _n){
    int __n = _n;
    _n = 0;
    while(__n){
      _n = _n * 10 + __n % 10;
      __n /= 10;
    }
    return _n;
  }
};
int main(){
  size_t n = 0, cnt_before, cnt_after;
  std::cout << "\nKolichestvo elementov = ";
  std::cin >> n;
  std::vector<int> arr(n);
  for(std::vector<int>::value_type i = 0; i < n; ++i){
    std::cout << "\n" << i + 1 << " element = ";
    std::cin >> arr[i];
  }
  cnt_before = std::count_if(arr.begin(), arr.end(), is_prime);
  std::transform(arr.begin(), arr.end(), arr.begin(), func());
  cnt_after = std::count_if(arr.begin(), arr.end(), is_prime);
  std::cout << "\n\nMassiv posle transformacii: ";
  print_arr(arr);
  std::cout << "\n\nProstie elementi do preobrazovaniy = " << cnt_before
        << "\nProstie elementi posle prebrazovaniy = " << cnt_after;
  arr.erase(std::remove(arr.begin(), arr.end(), *std::max_element(arr.begin(), arr.end())), arr.end());
  std::cout << "\n\nMassiv bez max elememta: ";
  print_arr(arr);
  return 0;
}
это все у меня в файле prg.cpp
Код
$ g++ prg.cpp
$ ./a.out 

Kolichestvo elementov = 5

1 element = 1

2 element = 2

3 element = 3

4 element = 4

5 element = 5


Massiv posle transformacii: 1 2 3 4 5 

Prostie elementi do preobrazovaniy = 4
Prostie elementi posle prebrazovaniy = 4

Massiv bez max elememta: 1 2 3 4 
$
правильный или нет результат сам думай, твоя программа.
 
Текущее время: 15:30. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru