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

Вывести элементы массива на промежутке [ a,b ], вычислить количество элементов массива, заменить все положительные элементы - C++

Восстановить пароль Регистрация
 
al88
0 / 0 / 0
Регистрация: 10.12.2012
Сообщений: 8
10.12.2012, 00:22     Вывести элементы массива на промежутке [ a,b ], вычислить количество элементов массива, заменить все положительные элементы #1
В одномерном массиве, состоящем из n вещественных элементов,
– вывести на печать элементы массива, значения которых не принадлежат промежутку [ a,b ]. Значения a,b задавать с клавиатуры;
– вычислить количество элементов массива, не меньших элемента с заданным номером, значение номера вводить с клавиатуры;
– заменить все положительные элементы массива их правыми соседями, если положительный элемент последний — заменить его на 0.

Вот,что сделано мной:
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
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
void main ()
{
clrscr ();
int*x;
int l,a,b, n,s,p;
printf("vvedite razmer massiva:\n");
scanf("%d",&n);
x=new int [n];
for(int i=0;i<n;i++){
x[i]=random(11)-random(11);
printf("element %d=%d\n",i,x[i]);
}
printf("vvedite znacheniya otrezkov\n");
scanf("%d",a);
scanf("%d",b);
for(i=0;i<n;i++)
{if(x[i]<a)
printf("%d",x[i]);
if(x[i]>b) printf("%d\n",x[i]);}
for (i=0;i<n-1;i++)
{if(x[i]>0)
x[i]=x[i+1];}
if (x[n]>0)
x[n]=0;
getch();
delete[]x;
}
Но программа не выводит результата.Где ошибка??
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.12.2012, 00:22     Вывести элементы массива на промежутке [ a,b ], вычислить количество элементов массива, заменить все положительные элементы
Посмотрите здесь:

Заменить все положительные четные элементы массива единицами C++
C++ Сделать все положительные элементы массива отрицательными, вывести их индексы
Сформировать и вывести на экран новый массив, который будет содержать вначале все элементы массива A(0), затем все элементы массива B(4) C++
C++ Функции обработки массива (определить произведение элементов массива, заменить модулем все элементы массива, уничтожить элемент с заданным значением)
Записать положительные элементы массива X подряд в массив Y. Определить k – количество положительных элементов. Вычислит сумму элементов массива Y C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Kuzia domovenok
 Аватар для Kuzia domovenok
1882 / 1737 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
10.12.2012, 00:24     Вывести элементы массива на промежутке [ a,b ], вычислить количество элементов массива, заменить все положительные элементы #2
Цитата Сообщение от al88 Посмотреть сообщение
x[i]=random(11)-random(11);
C++
1
2
srand(time(NULL);
x[i]=rand()%12-rand()%12;
Добавлено через 35 секунд
Цитата Сообщение от al88 Посмотреть сообщение
scanf("%d",a);
scanf("%d",b);
C++
1
2
scanf("%d",&a);
scanf("%d",&b);
Цитата Сообщение от al88 Посмотреть сообщение
if (x[n]>0)
x[n]=0;
x[n] не существует
C++
1
2
if (x[n-1]>0)
x[n-1]=0;
Цитата Сообщение от al88 Посмотреть сообщение
if(x[i]<a)
printf("%d",x[i]);
if(x[i]>b) printf("%d\n",x[i]);}
C++
1
2
if(x[i]<a && x[i]>b)
  printf("%d",x[i]);
Цитата Сообщение от al88 Посмотреть сообщение
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
ещё #include <time.h>
al88
0 / 0 / 0
Регистрация: 10.12.2012
Сообщений: 8
10.12.2012, 00:31  [ТС]     Вывести элементы массива на промежутке [ a,b ], вычислить количество элементов массива, заменить все положительные элементы #3
спасибо,но мне кажется,что
C
1
2
if(x[i]<a && x[i]>b)
  printf("%d",x[i]);
здесь не && должно быть,а |
разве нет?
Kuzia domovenok
 Аватар для Kuzia domovenok
1882 / 1737 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
10.12.2012, 00:34     Вывести элементы массива на промежутке [ a,b ], вычислить количество элементов массива, заменить все положительные элементы #4
О да! конечно
al88
0 / 0 / 0
Регистрация: 10.12.2012
Сообщений: 8
10.12.2012, 00:38  [ТС]     Вывести элементы массива на промежутке [ a,b ], вычислить количество элементов массива, заменить все положительные элементы #5
хоть что-то стало в проге работать...
числа из отрезка выводятся,а дальше ожидается,пока клавишу нажму и сброс на саму прогу,до конца не работает!
Yandex
Объявления
10.12.2012, 00:38     Вывести элементы массива на промежутке [ a,b ], вычислить количество элементов массива, заменить все положительные элементы
Ответ Создать тему
Опции темы

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