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

элементы - C++

Восстановить пароль Регистрация
 
женечка91
 Аватар для женечка91
0 / 0 / 0
Регистрация: 06.12.2010
Сообщений: 37
07.12.2010, 20:41     элементы #1
Удалить из масива последнюю группу элементов представлюящую собой знакочередующуюся последовательность.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.12.2010, 20:41     элементы
Посмотрите здесь:

C++ Элементы матрицы умножить на скаляр C=5,2. Элементы третьего столбца заменить единицами
если в массиве положительные элементы или отрицательные элементы будут соседями C++
Матрица. Все элементы последней строки уменьшить на соответствующие элементы третьего столбца C++
C++ Вывести элементы массива в виде таблицы и переставить его элементы местами
C++ Удалить из массива, в котором все элементы различны, максимальный и минимальный элементы
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
07.12.2010, 21:11     элементы #2
C++
1
2
3
while(((-1*arr[n-1]>0 && arr[n-2]>0) || (-1*arr[n-1]<0 && arr[n-2]<0)) && n>1)
    n--;
n--;
женечка91
 Аватар для женечка91
0 / 0 / 0
Регистрация: 06.12.2010
Сообщений: 37
07.12.2010, 21:25  [ТС]     элементы #3
это код программы?
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
07.12.2010, 21:30     элементы #4
женечка91, Нет не весь код - самое основное.
Когда есть массив int arr[n], то запускаете ту часть которую я написал и у Вас получится:
Цитата Сообщение от женечка91 Посмотреть сообщение
Удалить из масива последнюю группу элементов представлюящую собой знакочередующуюся последовательность.
женечка91
 Аватар для женечка91
0 / 0 / 0
Регистрация: 06.12.2010
Сообщений: 37
07.12.2010, 21:33  [ТС]     элементы #5
я с масивами плохо дружу можно объяснить по подробнее?
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
07.12.2010, 21:37     элементы #6
женечка91, Что из этого умеете?:
- создать массив;
- ввести значения массива с клавиатуры или заполнить случайными числами;
женечка91
 Аватар для женечка91
0 / 0 / 0
Регистрация: 06.12.2010
Сообщений: 37
07.12.2010, 21:42  [ТС]     элементы #7
я вообще в си могу решить ток самые простые задачи,там сравнить и т.д. а масив не могу, масив с++ сильно отличается от паскаля?
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
07.12.2010, 21:45     элементы #8
Я не знаю паскаля.
lemegeton
 Аватар для lemegeton
2909 / 1338 / 133
Регистрация: 29.11.2010
Сообщений: 2,720
07.12.2010, 21:46     элементы #9

Не по теме:

C++
1
-1*arr[n-1]>0
чудесный способ узнать, отрицательно ли число.

Где-то про удаление из массивов уже было... Дежавю.



Внесу пять копеек, что n-- после цикла только в том случае, если знакомеременный ряд из одного элемента допустим. Иначе нужно делать отдельную проверку.
Kenwood2010
48 / 59 / 7
Регистрация: 26.11.2010
Сообщений: 192
07.12.2010, 21:48     элементы #10
Цитата Сообщение от valeriikozlov Посмотреть сообщение
женечка91, Что из этого умеете?:
- создать массив;
- ввести заполнение случайными числами;
содание и заполнение:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <conio.h>
#include <iostream.h>
 
void main()
{
clrscr();
 
int mass[10]; //создаем массив
randomize();
/*---Заполняем массив случайными числами---*/
for (int i=0; i<=9; i++)
{
mass[i] = random(250);
}
 
/*---выводим на экран элементы массива---*/
for (int j=0; j<=9; j++)
{
cout<<mass[j]<<" ";
}
getch();
}
женечка91
 Аватар для женечка91
0 / 0 / 0
Регистрация: 06.12.2010
Сообщений: 37
07.12.2010, 21:53  [ТС]     элементы #11
это эта задача ?
или это то что раньше было?
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
07.12.2010, 21:55     элементы #12
Цитата Сообщение от lemegeton Посмотреть сообщение
Внесу пять копеек, что n-- после цикла только в том случае, если знакомеременный ряд из одного элемента допустим.
Не совсем так, если знакочередующая последовательность состояла из двух или более элементов, то это просто необходимо.
А вот для случая когда последовательность состоит из 1 элемента (с самым большим индексом) - то здесь как допускать... (можно в данном случае и проверку, если считать что из одного элемента такой ряд недопустим).
Kenwood2010
48 / 59 / 7
Регистрация: 26.11.2010
Сообщений: 192
07.12.2010, 21:56     элементы #13
Цитата Сообщение от женечка91 Посмотреть сообщение
это эта задача ?
или это то что раньше было?
нет тут представлена та часть кода которая поможет тебе решить задачу.
если немного подумаешь и все сделаешь как надо.
shocoladka
7 / 7 / 0
Регистрация: 02.12.2010
Сообщений: 71
07.12.2010, 22:09     элементы #14
#include <iostream.h>

int main ()
{
int i,n; //переманная длины массива
cin>>n; //вводим длну массива
int a[n]; //создаём массив
for(i=1;i<=n;i++)
cin>>a[i];//вводим элементы массива
i=n;
while(((a[n]>0 && a[n-1]<0) || a[n]<0 && a[n-1]>0) && n>0) // цикл с проверкой(если n-ый элемент больше 0, а n-1-ый элемент меньше нуля(и наоборот) удаляем 1 элемент из массива )
{
n--;
}
n--;
for(int j=1;j<=n;j++) //выводим ограниченное числом n количество элементов
cout<<a[j];
system("pause");
}
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
07.12.2010, 22:12     элементы #15
shocoladka, Если есть такой массив: int a[n]; , то вот это: a[n] - обращение к несуществующему элементу.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.12.2010, 22:27     элементы
Еще ссылки по теме:

Зеркально отразить элементы матрицы элементы относительно горизонтальной оси C++
C++ Парные элементы массива уменьшить вдвое, нечетные элементы заменить их квадратом
Все элементы последней строки матрицы увеличить на соответствующие элементы предпоследней C++

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

Или воспользуйтесь поиском по форуму:
shocoladka
7 / 7 / 0
Регистрация: 02.12.2010
Сообщений: 71
07.12.2010, 22:27     элементы #16
И ни смотря ни на что он к нему обращается!

Добавлено через 3 минуты
Хотя программа и вправду некорректна, вот так правильно:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream.h>
 
int main ()
{
int i,n; //ïåðåìГ*Г*Г*Г*Гї äëèГ*Г» Г¬Г*Г±Г±ГЁГўГ*
cin>>n; //ââîäèì äëГ*Гі Г¬Г*Г±Г±ГЁГўГ*
int a[n]; //ñîçäГ*ВёГ¬ Г¬Г*Г±Г±ГЁГў
for(i=1;i<=n;i++)
cin>>a[i];//ââîäèì ýëåìåГ*ГІГ» Г¬Г*Г±Г±ГЁГўГ*
i=n;
while(((a[n]>0 && a[n-1]<0) || a[n]<0 && a[n-1]>0) && n>0) // öèêë Г± ïðîâåðêîé(åñëè n-ûé ýëåìåГ*ГІ áîëüøå 0, Г* n-1-ûé ýëåìåГ*ГІ ìåГ*ГјГёГҐ Г*óëÿ(ГЁ Г*Г*îáîðîò) ГіГ¤Г*ëÿåì 1 ýëåìåГ*ГІ ГЁГ§ Г¬Г*Г±Г±ГЁГўГ* )
{
n--;
}
if(i!=n)
n--;
for(int j=1;j<=n;j++) //âûâîäèì îãðГ*Г*ГЁГ·ГҐГ*Г*îå ÷èñëîì n êîëè÷åñòâî ýëåìåГ*òîâ
cout<<a[j];
system("pause");
}
Yandex
Объявления
07.12.2010, 22:27     элементы
Ответ Создать тему
Опции темы

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