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

Массивы, подсчёт, перестановка элементов. - C++

Восстановить пароль Регистрация
 
noob_v_pascale
0 / 0 / 0
Регистрация: 29.09.2011
Сообщений: 68
08.11.2011, 23:40     Массивы, подсчёт, перестановка элементов. #1
1)найти кол-во элементов массива больших С
2)найти произведение элементов массива,расположенных после максимального по модулю элемента
3)преобразовать массив таким образом,чтобы сначала располагались все отрицательные элементы,а потом все положительные(элементы равные 0 считать положительными)
ребят я знаю что эти задачи для вас несложные так что помогите плизз оч прошу
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.11.2011, 23:40     Массивы, подсчёт, перестановка элементов.
Посмотрите здесь:

Перестановка элементов C++
C++ Массивы подсчёт max и min от rand
C++ Массивы и перестановка
Массивы: переворот, сдвиг вправо, перестановка C++
C++ Подсчёт произведени нулевых элементов одномерного массива
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
amor1k
Студент
 Аватар для amor1k
147 / 147 / 24
Регистрация: 18.01.2011
Сообщений: 469
09.11.2011, 00:21     Массивы, подсчёт, перестановка элементов. #2
какой язык?
noob_v_pascale
0 / 0 / 0
Регистрация: 29.09.2011
Сообщений: 68
09.11.2011, 00:38  [ТС]     Массивы, подсчёт, перестановка элементов. #3
с++ конечно)
vadimus
1 / 1 / 0
Регистрация: 06.11.2011
Сообщений: 6
09.11.2011, 00:39     Массивы, подсчёт, перестановка элементов. #4
Не давно проходил тему с массивами, и на досуге написал прогу. Сам не спец, но как понимаю так и написал.....
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
#include "stdafx.h"
#include <iostream>
#include <clocale>
#include <cmath> 
 
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale(LC_CTYPE, "");
 
    const int SIZE = 50;
 
    float massive[SIZE];
    int i, j, n, amount = 0, numMax;
    float temp, max, C, product = 1.0;
 
    cout << "Введите количество элементов массива: ";
    cin >> n;
 
    cout << "Введите елементы массива:\n-> ";
    for (i = 0; i < n; i++)
        cin >> massive[i];
 
    //=====================Нахождение количества в заданном диапозоне==================
    cout << "Введите число для подсчета количества больших С = ";
    cin >> C;
    for (i = 0; i < n; i++)
    {
        if (massive[i] > C)
            amount++;
    }
 
    //=====================Подсчет произведение после максимального по модулю эл-та массива============
    max = abs(massive[0]);
    for (i = 1; i < n; i++)
    {
        if (abs(massive[i]) > max)
        {
            max = abs(massive[i]);
            numMax = i;
        }
    }
 
    for (i = numMax + 1; i < n; i++)
        product *= massive[i];
 
    cout << "Количество эл-ов больших С: " << amount << " элементов\n";
    cout << "Произведение эл-ов после максимального по модулю эл-та равна: " << product  << endl;
    cout << "Максимальный по модулю элемент равен: " << max << " на позиций: " << numMax << endl;
 
    //======================Преобразование массива==============
    for (i = 0; i < n - 1; i++)
    {   
        for (j = n - 1; j > 0; j--)
        {
            if (massive[j] < 0)
            {
                temp = massive[j];
                massive[j] = massive[j - 1];
                massive[j - 1] = temp;
            }
        }
    }
    cout << "\nСортировка.....\n";
 
    //======================Ввывод исходного массива===================================
    cout << "\n==================Вывод исходного массива=================\n-> ";
    for (i = 0; i < n; i++)
        cout << massive[i] << " ";
    cout << endl;
 
    system("pause");
    return 0;
}
mihail717
Сообщений: n/a
09.11.2011, 00:50     Массивы, подсчёт, перестановка элементов. #5
Предполагаю нужны простые решения. Попытался рационально сделать, все делается в один проход, судя по условиям именно этого добивается от вас руководитель.
2)
C
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <math.h>
void main()
{
    const int N=10;//размер массива
    int arr[N],base=0,mult=1;
    for(int i=0;i<N;i++) 
        if(abs(arr[i])>abs(arr[base])) 
        {
            base=i;
            mult=1;
        }
        else if(i!=base) mult*=arr[i];
}
3)
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
void main()
{
    const int N=10;//размер массива
    int arr[N],base=0,temp=N-1;
    while(base!=temp)
    {
        while(arr[base]<0&&base!=temp)  base++;
        while(arr[temp]>0&&base!=temp) temp--;
        int buf=arr[temp];
        arr[temp]=arr[base];
        arr[base]=buf;
    }
 
}
noob_v_pascale
0 / 0 / 0
Регистрация: 29.09.2011
Сообщений: 68
09.11.2011, 01:27  [ТС]     Массивы, подсчёт, перестановка элементов. #6
народ спасибо вам большое!!всем!!!
завтра проверю всё если чё отпишусь ещё)
Yandex
Объявления
09.11.2011, 01:27     Массивы, подсчёт, перестановка элементов.
Ответ Создать тему
Опции темы

Текущее время: 16:49. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru