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

Задача по одномерным массивам - C++

Восстановить пароль Регистрация
 
СССР
Сообщений: n/a
23.06.2012, 10:31     Задача по одномерным массивам #1
Помогите плиз решить задачу по одномерным массивам в C++
"Дан массив целых чисел из n элементов. Найти удвоенную сумму положительных элементов. Подсчитать количество элементов массива, не превосходящих по модулю заданного числа В. Заменить нулевые элементы массива единицами."
заданий очень много, не успеваю всё решить...
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Doctor_
 Аватар для Doctor_
232 / 232 / 69
Регистрация: 03.02.2011
Сообщений: 1,405
23.06.2012, 10:46     Задача по одномерным массивам #2
Можешь дать пример.. ну написать массив и показать что должно выйти в итоге, а то у меня туго с понятием русских терминов, так как я не русский
Петррр
 Аватар для Петррр
5915 / 3352 / 333
Регистрация: 28.10.2010
Сообщений: 5,926
23.06.2012, 11:02     Задача по одномерным массивам #3
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
#include <iostream>
#include <ctime>
#include <cmath>
 
#define n 12
 
int main()
{
    setlocale(LC_ALL, "");
    int b = 4;
    int array[n];
    std::srand(std::time(NULL));
    for(int i = 0; i < n; i++)
        std::cout << (array[i] = std::rand() % 21 - 10) << ' ';
 
    int sum = 0;
    for(int i = 0; i < n; i++)
        if (array[i] > 0)
            sum += array[i];
    std::cout << std::endl << "Удвоенная сумма положительных элементов: " << (sum * 2) << std::endl;
    int count = 0;
    for(int i = 0; i < n; i++)
        if (std::abs(array[i]) < b)
            count++;
    std::cout << "Число " << b << " не превосходит " << count << " элементов массива" << std::endl;
 
    for(int i = 0; i < n; i++)
    {
        if (array[i] == 0)
            array[i] = 1;
        std::cout << array[i] << ' ';
    }
    std::cout << std::endl;
    system("pause");
    return 0;
}
Doctor_
 Аватар для Doctor_
232 / 232 / 69
Регистрация: 03.02.2011
Сообщений: 1,405
23.06.2012, 11:08     Задача по одномерным массивам #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
#include <iostream>
#include <conio.h>
#include <time.h>
 
using namespace std;
 
int main() {
    srand(time(NULL));
    int N;
    cout << "Vvedite kolichestvo elementov v massive:";
    cin >> N;
    int vec[N], i, sum = 0, B, count = 0;
    for(i=0; i<N; i++)
    vec[i] = 5 - rand()%10;
    for(i=0; i<N; i++)
    cout << vec[i] << " ";
    cout << endl;
    //ishem summu polozytelnyh elementov i udvajevajem ejo
    for(i=0; i<N; i++)
    if(vec[i]>0) {
                 sum += vec[i];
                 }
    cout << "Udvojennaja summa polozytelnyh elementov: " << sum*2 << endl;
    cout << endl;
    //ishem chisla bolshe B
    cout << "Vvedite chislo:";
    cin >> B;
    for(i=0; i<N; i++)
    if(abs(vec[i]) > B) {
              count++;
              }
    cout << "Kolichestvo elementov prevoshodiashije " << B << " ravno:" << count << endl;
    cout << endl;
    //zamena nulej na edinicy
    cout << "0 zameniny na 1" << endl;
    for(i=0; i<N; i++) 
             if(vec[i]==0) {
                           vec[i]=1;
                           }
    for(i=0; i<N; i++)
    cout << vec[i] << " ";
    getche();
}
bLesk
 Аватар для bLesk
40 / 40 / 1
Регистрация: 24.11.2009
Сообщений: 165
23.06.2012, 11:13     Задача по одномерным массивам #5
эх, ну ладно не просто же так старался
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
#include<iostream>
#include<cstdlib>
#include<cmath>
 
int main()
{
    setlocale(LC_ALL, "Russian");
    int *array, sum=0, iter=0, B, size;
    std::cout<<"Введите размер массива : "; std::cin>>size;
    array=new int[size];
    std::cout<<std::endl<<"Заполните массив : "<<std::endl;
    for (int i = 0; i < size; ++i)
        std::cin>>array[i];
    for (int i = 0; i < size; ++i)
        if (array[i] > 0)
            sum+=array[i];
    std::cout<<std::endl<<"Введите число B : "; std::cin>>B;
    for (int i = 0; i < size; ++i)
        if ( fabs(array[i]) < B )
            ++iter;
    for (int i = 0; i < size; ++i)
        if (array[i] == 0)
            array[i]=1;
    std::cout<<std::endl<<"Удвоенная сумма = "<<2*sum<<std::endl;
    std::cout<<"Количество элементов, не превосходящих по модулю В = "<<iter<<std::endl;    
    std::cout<<"Новый массив"<<std::endl;
    for (int i = 0; i < size; ++i)
        std::cout<<" "<<array[i];
    std::cout<<std::endl;
    system("pause");
    delete [] array;
}
Yandex
Объявления
23.06.2012, 11:13     Задача по одномерным массивам
Ответ Создать тему
Опции темы

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