С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
winelove
1 / 1 / 0
Регистрация: 10.05.2010
Сообщений: 71
#1

обратите на меня внимание) - C++

10.05.2010, 22:19. Просмотров 315. Ответов 3
Метки нет (Все метки)

В одномерном массиве, состоящем из n вещественных элементов, вы-числить:
1) количество элементов массива, больших С;
2) произведение элементов массива, расположенных после макси-мального по модулю элемента.
3) Преобразовать массив таким образом, чтобы сначала располага-лись все отрицательные элементы, а потом – все положительные (элементы, равные 0 , считать положительными).
Pascal
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
const N=10;
var Mas:array[1..N] of real;
    C,proiz:real;
    i,j,count:integer;
    n_max:integer;
begin
 count:=0; {число элементов больших C}
 n_max:=1; {Номер максимального по модулю элемента}
  for i:=1 to N do
   begin
    write('Введите элемент [',i,'] : ');
    readln(Mas[i]);
    if abs(Mas[n_max])<abs(Mas[i]) then
    n_max:=i;
   end;
 write('Введите C: ');
 readln(C);
 proiz:=1;  {Произведение элементов}
 for i:=1 to N do
  begin
   if i>n_max then
   proiz:=proiz*Mas[i];
   if Mas[i]>C then
   count:=count+1;
  end;
 for j:=1 to n-1 do
  for i:=1 to n-1 do
   if Mas[i]>Mas[i+1] then
    begin
     C:=Mas[i];
     Mas[i]:=Mas[i+1];
     Mas[i+1]:=C;
    end;
 writeln('Количество элементов больших C: ',count);
 writeln('Произведение элементов: ',proiz);
 writeln('Преобразованный массив:');
  for i:=1 to n do
   write(Mas[i]:5:3,' ');
 readln;
end.
Вот эта задача через Паскаль, а мне надо в С++, как это все преобразовать??
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.05.2010, 22:19
Здравствуйте! Я подобрал для вас темы с ответами на вопрос обратите на меня внимание) (C++):

обратите внимание - C++
Здравствуйте. я обращаюсь с прозьбой. пожалуйста, дайте мне совет. я вот немного знаю синтаксис языка С. но незнаю как программировать,...

выполнить в виде функции, обратите внимание - C++
в одномерном массиве, состоящем из n вещественных элементов, вычислить: 1)минимальный элемент массива 2)сумму элементов массива,...

Внимание! Интересная высокооплачиваемая работа для программиста. - C++
Компании занимающейся выпуском высокотехнологичной продукции требуется программист для выполнения следующей работы: 1. Необходимо...

Повторное использование кода и инкапсулирование. Внимание, много букв) - C++
Всем привет. Хотелось бы обсудить очень важный вопрос, а именно инкапсуляцию встроенных типов. Допустим у нас в программе есть две...

Указать верное количество дней, приняв во внимание високосные года - C++
Пользователь вводит две даты (день, месяц, год в виде целых чисел). Необходимо определить и вывести количество дней между этими двумя...

Изучаю С++, на какие моменты, на Ваш взгляд, необходимо обратить первоочередное внимание? - C++
Изучаю С++, на какие моменты, на Ваш взгляд, необходимо обратить первоочередное внимание?

3
ISergey
Maniac
Эксперт С++
1395 / 906 / 56
Регистрация: 02.01.2009
Сообщений: 2,706
Записей в блоге: 1
10.05.2010, 23:17 #2
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
#include <iostream>
 
int mod(int a)     { return a > 0 ? a : -a; }
bool    greate(int a, int b){ return a > b; }
int     mul(int a, int b)      { return a * b; }
 
unsigned count_if(const int *beg, const int *end, bool (*func)(int, int), int cmp)
{
    unsigned res = 0;
    for(const int *i = beg; i != end; ++i)
        if(func(*i, cmp)) ++res;
 
    return res;
}
 
int accumulate(const int *beg, const int *end, int val, int (*func)(int, int))
{
    int res = val;
    for(const int *i = beg; i != end; ++i)
        res = func(res, *i);
    return res;
}
 
int *maxmod(const int *beg, const int *end)
{
    int max = *(beg);
    int *res = const_cast<int*> (beg);
    for(const int *i = (beg + 1); i != end; ++i)
    {
        if(mod(max) < mod(*i))
        {
            max = *i;
            res = const_cast<int*> (i);
        }
    }
    return res;
}
 
 
void sort(int *beg, int *end){
    for(int *i = beg; i != end; ++i)
    {
        for(int *j = beg; j != (end - 1); ++j)
        {
            if(*j > *(j + 1)){
                int buff = *j;
                *(j) = *(j + 1);
                *(j + 1) = buff;
            }
        }
    }
}
 
 
int main(){
 
    const int n = 10;
    int arr[n] = {4, 2, 0, -4, 5, 6, -7, -12, 9, 9}; // max 12, 9 * 9 = 81
 
    int c = 7; // std::cin >> c;
 
    // 1
    std::cout << "Count elem > c : " << count_if(arr, arr + n, greate, c) << '\n';
 
    //2
    const int *maxpos = maxmod(arr, arr + n);
    std::cout << "mul: " << accumulate(maxpos + 1, arr + n, 1, mul) << '\n';
 
    //3
    sort(arr, arr + n);
 
    for(int i = 0; i < n; ++i)
        std::cout << arr[i] << " ";
 
    return 0;
}
http://codepad.org/Zdi52njr
1
winelove
1 / 1 / 0
Регистрация: 10.05.2010
Сообщений: 71
10.05.2010, 23:32  [ТС] #3
спасибо, но пишет ошибки
особенно смущает std
0
ISergey
Maniac
Эксперт С++
1395 / 906 / 56
Регистрация: 02.01.2009
Сообщений: 2,706
Записей в блоге: 1
10.05.2010, 23:42 #4
Вместо
C++
1
#include <iostream>
напиши
C++
1
#include <iostream.h>
И везде удали std::
0
10.05.2010, 23:42
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.05.2010, 23:42
Привет! Вот еще темы с ответами:

Каким аспектам программирования стоит посвятить своё внимание? Как правильно подойти к обучению? - C++
Здраствуйте, у меня накопилась парочка вопросов. Учу с++, дошел до классов. Цель- GameDev и разработка приложений в целом Учусь в 10...

Обратите внимание - PHP
Требуется команда верстальщиков для удаленной работы над сайтом, разумеется не за бесплатно,но и не столь огромная зарплата, подробности...

обратите внимание - Turbo Pascal
Здравствуйте уважаемые форумчане!!! Для начала хотелось бы сказать что это сообщение не относится к этой теме, просто хотел что бы его...

кого не затруднит обратите внимание - Pascal
Кого не затруднит помогите в решении двух задач: 1) Пусть дано вещественное число &quot;х&quot; и натуральное число &quot;n&quot;. Вычислить: ...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.