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

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

Войти
Регистрация
Восстановить пароль
 
wowan30002
2 / 2 / 0
Регистрация: 23.05.2012
Сообщений: 195
#1

Написать программу, которая печатает массив, удалив из него все отрицательные элементы - C++

05.11.2012, 20:50. Просмотров 617. Ответов 14
Метки нет (Все метки)

Написать программу, которая печатает массив, удалив из него все отрицательные элементы.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.11.2012, 20:50
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Написать программу, которая печатает массив, удалив из него все отрицательные элементы (C++):

Сжать массив, удалив из него все нулевые элементы - C++
Программа должна сжать массив, удалив из него все нулевые элементы.но типичная проблема, она не заработала. на С++ впервые пишу, поэтому не...

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

Сжать массив, удалив из него все элементы модуль которых не превышает 1. Заполнить эти элементы нулями - C++
Во время перестановки, когда первый 0 достигает конца массива, выскакивает ошибка и прога останавливается. При этом на последнем элементе...

Сжать массив, удалив из него все элементы, которые лежат в интервале [a,b]. Освободившиеся в конце элементы массива заполнить нулями. - C++
У меня такая проблема: Сжать массив, удалив из него все элементы, которые лежат в интервале . Освободившиеся в конце элементы массива ...

Дан целочисленный массив размера N. Сжать массив, удалив из него все элементы, модуль которых не превышает 1 - C++
Помогите пожалуйста написать программу. Дан целочисленный массив размера N. Сжать массив, удалив из него все элементы, модуль которых не...

Дан целочисленный массив размера N. Сжать массив, удалив из него все элементы, модуль которых не превышает 1 - C++
Помогите пожалуйста написать программу: Дан целочисленный массив размера N. Сжать массив, удалив из него все элементы, модуль которых не...

14
ZaMaZaN4iK
Мой лучший друг-отладчик!
164 / 164 / 9
Регистрация: 24.06.2012
Сообщений: 662
Записей в блоге: 5
Завершенные тесты: 1
05.11.2012, 21:03 #2
можно немного схитрить, написав прогу которая не удаляет , а не выводит отрицательные элементы.
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
 
int main()
{
    int mas[5]{-1,0,34,-99,78};
    for(int i=0;i<5;i++)
    if(mas[i]>=0)
    std::cout<<mas[i]<<' ';
    std::cout<<std::endl;
    system("PAUSE");
    return 0;
}
1
Thinker
Эксперт С++
4231 / 2205 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
05.11.2012, 21:22 #3
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include<stdio.h>
 
void Del(int *a, int *end, int **b)
{
   if(a < end)
   {
      if (*a >= 0)
         *(*b)++ = *a;
      Del(a + 1, end, b);
   }
}
 
int main()
{
   int i, n, a[] = {1, -1, 2, -2, 3, -3, 4, -4, 5, -5}, *b = a;
   n = sizeof(a)/sizeof(*a);
   Del(a, a + n, &b);
   n = ((int)b - (int)a) / sizeof(*a);
   for(i = 0; i < n; i++)
      printf("%d ", a[i]);
   return 0;
}
1
wowan30002
2 / 2 / 0
Регистрация: 23.05.2012
Сообщений: 195
05.11.2012, 21:36  [ТС] #4
а можно для синева Borland c++ dos
0
DiffEreD
1440 / 777 / 95
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
05.11.2012, 21:39 #5
C++
1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
#include <algorithm>
#include <iterator>
 
int main()
{
    int a[] = {1, -1, 2, -2, 3, -3, 4, -4, 5, -5};
    std::copy_if(a, a + sizeof a/sizeof a[0], std::ostream_iterator<int>(std::cout, " "), [] (int x) {return x<0;});
    system("pause");
    return 0;
}
1
wowan30002
2 / 2 / 0
Регистрация: 23.05.2012
Сообщений: 195
05.11.2012, 21:55  [ТС] #6
не одна не хочет работать
0
Миниатюры
Написать программу, которая печатает массив, удалив из него все отрицательные элементы  
I.M.
566 / 549 / 5
Регистрация: 16.12.2011
Сообщений: 1,389
05.11.2012, 21:58 #7
wowan30002, из 3го поста должна работать
В чем проявляется "не работает"?
1
DiffEreD
1440 / 777 / 95
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
05.11.2012, 22:00 #8
Пробуйте на онлайн компиляторе: http://liveworkspace.org/code/c8b9c811091d4523067ffd6851873bd1
1
I.M.
566 / 549 / 5
Регистрация: 16.12.2011
Сообщений: 1,389
05.11.2012, 22:02 #9
Цитата Сообщение от wowan30002 Посмотреть сообщение
не одна не хочет работать
А можете показать аналогичный скриншот для программы из 3го поста?
0
wowan30002
2 / 2 / 0
Регистрация: 23.05.2012
Сообщений: 195
05.11.2012, 22:04  [ТС] #10
мне нужно скрины делать в синем с++ для лабы
0
wowan30002
2 / 2 / 0
Регистрация: 23.05.2012
Сообщений: 195
05.11.2012, 22:07  [ТС] #11
вот скрин
0
Миниатюры
Написать программу, которая печатает массив, удалив из него все отрицательные элементы  
I.M.
566 / 549 / 5
Регистрация: 16.12.2011
Сообщений: 1,389
05.11.2012, 22:15 #12
Цитата Сообщение от Thinker Посмотреть сообщение
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include<stdio.h>
 
void Del(int *a, int *end, int **b)
{
   if(a < end)
   {
      if (*a >= 0)
         *(*b)++ = *a;
      Del(a + 1, end, b);
   }
}
 
int main()
{
   int i, n, a[] = {1, -1, 2, -2, 3, -3, 4, -4, 5, -5}, *b = a;
   n = sizeof(a)/sizeof(*a);
   Del(a, a + n, &b);
   n = ((int)b - (int)a) / sizeof(*a);
   for(i = 0; i < n; i++)
      printf("%d ", a[i]);
   return 0;
}
wowan30002, этот код тоже не работает?
2
wowan30002
2 / 2 / 0
Регистрация: 23.05.2012
Сообщений: 195
05.11.2012, 22:21  [ТС] #13
Цитата Сообщение от Thinker Посмотреть сообщение
#include<stdio.h>
void Del(int *a, int *end, int **b)
{
* *if(a < end)
* *{
* * * if (*a >= 0)
* * * * **(*b)++ = *a;
* * * Del(a + 1, end, b);
* *}
}
int main()
{
* *int i, n, a[] = {1, -1, 2, -2, 3, -3, 4, -4, 5, -5}, *b = a;
* *n = sizeof(a)/sizeof(*a);
* *Del(a, a + n, &b);
* *n = ((int)b - (int)a) / sizeof(*a);
* *for(i = 0; i < n; i++)
* * * printf("%d ", a[i]);
* *return 0;
}
все работает только нечего не показывает
0
I.M.
566 / 549 / 5
Регистрация: 16.12.2011
Сообщений: 1,389
05.11.2012, 22:22 #14
добавьте
scanf("%d",&i);
перед return 0;
1
wowan30002
2 / 2 / 0
Регистрация: 23.05.2012
Сообщений: 195
05.11.2012, 22:30  [ТС] #15
Цитата Сообщение от I.M. Посмотреть сообщение
scanf("%d",&i);
спасибо помог
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.11.2012, 22:30
Привет! Вот еще темы с ответами:

Сжать массив, удалив из него все элементы, модуль которых находится в интервале [a,b]. Освободившиеся в конце массива элементы заполнить нулями - C++
В одномерном массиве, состоящем из n вещественных элементов, вычислить: 1. максимальный элемент массива; 2. сумму элементов массива,...

Сжать массив, удалив из него все элементы, модуль которых находится в интервале [a, b]. освободившиеся в конце массива элементы заполнить нулями. - C++
Сжать массив, удалив из него все элементы, модуль которых находится в интервале . освободившиеся в конце массива элементы заполнить нулями....

Сжать массив, удалив из него все элементы, модуль которых не превышает 1. - C++
В одномерном массиве, состоящем из 20 вещественных элементов, вычислить: 1) сумму элементов массива с нечетными номерами; 2) сумму...

Cжать массив, удалив из него все элементы, модуль которых не превышает 1 - C++
const float N=10; float array={3.24, -0.16, 2.28, -0.16, -3.22, 7.14, 0.88, -3.20, 0.99, 4.15} ; сжать массив, удалив из него все...


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

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

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