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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.69
Маша Болдина
2 / 2 / 0
Регистрация: 15.02.2012
Сообщений: 56
#1

В последовательности X1, . . ., Xn все члены, меньшие двух, заменить нулями - C++

04.03.2012, 10:38. Просмотров 1872. Ответов 13
Метки нет (Все метки)

Даны натуральное число п, действительные числа X1 ..., Xn. В последовательности X1, . . ., Xn все члены, меньшие двух, заменить нулями. Кроме того, получить сумму членов, принадлежащих отрезку [3, 7], а также, число таких членов.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.03.2012, 10:38
Здравствуйте! Я подобрал для вас темы с ответами на вопрос В последовательности X1, . . ., Xn все члены, меньшие двух, заменить нулями (C++):

В массиве все члены меньше двух заменить нулями, посчитать сумму, количество членов принадлежащих [3;7] - C++
Не правильно работает, не могу найти ошибку, помогите пожалуйста:wall: #include <stdio.h> #include <conio.h> void main() { ...

Найти сумму и число членов массива, принадлежащих отрезку [3;7] и все члены, меньше двух, заменить нулями. - C++
Дана последовательность действительных чисел x1, x2, ... x40. В последовательности x1, x2, ... x20. Все члены, меньше двух, заменить...

В последовательности заменить нулями члены, модуль которых при делении на p дает в остатке q. - C++
Помогите плиз решить задачу с Абрамова(184). Даны целые числа p, q, a1, ... , a67 ( p > q ≥ 0 ). В последовательности a1, ... , a67...

В последовательности целых чисел заменить все элементы, меньшие заданного числа - C++
Дана последовательность целых чисел. Заменить все элементы, меньшие заданного числа, этим числом.

Заменить все максимальные элементы последовательности нулями - C++
Дана последовательность чисел. Заменить все максимальные элементы нулями.

Заменить все члены последовательности заданным числом и подсчитать количество замен. - C++
Дана последовательность действительных чисел a1, а2, ..., аn. Заменить все ее члены, большие данного Z, этим числом. Подсчитать количество...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BumerangSP
4286 / 1408 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
04.03.2012, 11:31 #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
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
int main()
{
 srand(time(NULL));
 int i=1,p,x,n;
 float a[100],sum=0;
 printf("n>7 = ");
 scanf("%d",&n);
 printf("Before:\n");
 for (x=1; x<n; x++)
  {
   a[x]=rand()%50-30.99;
   printf("%5.2f ",a[x]);
  }
  printf;
 printf("After:\n");
 for (x=1; x<n; x++)
  {
   if (a[x]<2) 
    a[x]=0;
   printf("%5.2f ",a[x]);
  }
   for (x=3; x<7; x++)
    {
     sum=sum+a[x];
     i++;
    }
  printf("\n");
  printf("Sum = %5.2f, Number [3,7] = %d\n",sum,i);
  system("pause");
  return 0;
}
0
sandye51
программист С++
684 / 586 / 39
Регистрация: 19.12.2010
Сообщений: 2,016
04.03.2012, 12:10 #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
#include <vector>
#include <iostream>
#include <iterator>
#include <cstdlib>
 
template <typename T>
class enter_value :
public std::unary_function<void, T>
{
    
public:
    T operator()() const
    {
        T value;
        std::cin >> value;
        return value;
    }
};
 
int main()
{
    unsigned int size;
    std::cout << "Введите число членов последовательности" << std::endl;
    std::cin >> size;
    std::vector<int> sequence(size);
    std::cout << "Введите члены последовательности" << std::endl;
    std::generate(sequence.begin(), sequence.end(), enter_value<int>());
    std::replace_if(sequence.begin(), sequence.end(), std::bind2nd(std::less<int>(), 2), 0);
    std::cout << "Ответ: " << std::endl; 
    std::copy(sequence.begin(), sequence.end(), std::ostream_iterator<int>(std::cout, " "));
    return EXIT_SUCCESS;
}
1
Маша Болдина
2 / 2 / 0
Регистрация: 15.02.2012
Сообщений: 56
04.03.2012, 22:45  [ТС] #4
Извините, но программа не работает)Можете еще раз пересмотреть.спасибо
0
NEO*
14 / 14 / 1
Регистрация: 02.11.2011
Сообщений: 22
05.03.2012, 00:27 #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
33
34
35
36
37
38
39
40
41
42
#include <iostream>
using namespace std;
 
int main()
{
    int n; int i; float s=0; int k=0;
    cin>>n;
 
 
 
    float x[n];
 
        for(i=0;i<n;i++)
        {
            cin>>x[i];
        }
 
cout<<endl;
 
for(i=0;i<n;i++)
 
{
   if (x[i]<2) x[i]=0;   //заменяем элементы, меньшие двух, нулями
}
 
        for(i=0;i<n;i++)
        {
    if ((x[i]>=3)&(x[i]<=7))
    {
        s=s+x[i];
        k++;
    }
        }
 
     for(i=0;i<n;i++)
     cout<<x[i]<<"\t";   //выводим исправленный массив
 
cout<<"s="<<s<<endl; //сумма элементов из отрезка [3;7]
cout<<"k="<<k<<endl; //их количество
 
    return 0;
}
1
Маша Болдина
2 / 2 / 0
Регистрация: 15.02.2012
Сообщений: 56
05.03.2012, 05:24  [ТС] #6
почему то у меня компилятор выводит 3 ошибки: 1) неизвестен размер х 2)константа не уточнена 3)не может ассигновать множество постоянного размера 0
0
kazak
05.03.2012, 05:32
  #7

Не по теме:

Мне кажется, было бы намного проще, если бы Вы уточнили какой у Вас компилятор.

0
Маша Болдина
2 / 2 / 0
Регистрация: 15.02.2012
Сообщений: 56
05.03.2012, 05:36  [ТС] #8
Microsoft Visual C++ 6.0
0
kazak
3035 / 2356 / 155
Регистрация: 11.03.2009
Сообщений: 5,402
Завершенные тесты: 1
05.03.2012, 05:45 #9
Ага, у NEO размер статического массива задан переменной, что недопустимо, 11 строчка. Нужно заменить на константу.
0
Маша Болдина
2 / 2 / 0
Регистрация: 15.02.2012
Сообщений: 56
05.03.2012, 05:52  [ТС] #10
возможно это очень глупый вопрос, пожалуйста скажите как?
0
kazak
3035 / 2356 / 155
Регистрация: 11.03.2009
Сообщений: 5,402
Завершенные тесты: 1
05.03.2012, 05:56 #11
Ну, чтобы с минимумом изменений, то вместо float x[n], написать, допустим, float x[100].
1
NEO*
14 / 14 / 1
Регистрация: 02.11.2011
Сообщений: 22
05.03.2012, 15:40 #12
там выше эта переменная инициализируется, и на Mingw всё работает.
1
kazak
3035 / 2356 / 155
Регистрация: 11.03.2009
Сообщений: 5,402
Завершенные тесты: 1
05.03.2012, 15:46 #13
Цитата Сообщение от NEO* Посмотреть сообщение
на Mingw всё работает.
это исключение, по нынешнему не скажу, а по предыдущим стандартам размер статического массива должен быть известен на этапе компиляции, поэтому задаваться он может исключительно константными выражениями.
1
diagon
Higher
1929 / 1195 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
05.03.2012, 16:04 #14
Цитата Сообщение от kazak Посмотреть сообщение
это исключение, по нынешнему не скажу
Это расширение gcc, variable-length array называется.
Поддерживается в С99, новый стандарт их запрещает, но вводит constexpr(хотя в данном случае она бесполезна).
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.03.2012, 16:04
Привет! Вот еще темы с ответами:

В последовательности целых чисел заменить все элементы, меньшие заданного числа, этим числом - C++
Собственно такая задача) Буду благодарен за любую помощь.

В последовательности заменить все отрицательные члены на -1, положительные на 1, а нулевые оставить без изменений - C++
Уважаемые програмисты помогите пожалуйста решить пару задач, очень надо. Заранее спасибо. 1. Дано натуральное число n, и вещественные...

Заменить все члены последовательности, большие заданного числа Z, этим числом; подсчитать количество замен - C++
Дана последовательность действительных чисел а1, а2,..., an. Заменить все ее члены, большие данного Z, этим числом. Подсчитать количество...

Заменить нулями члены, модуль которых при делении на p дает в остатке q - C++
не работает:( понимаю в чем ошибка, а как написать что б работало не знаю #include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
05.03.2012, 16:04
Ответ Создать тему
Опции темы

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