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

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

Войти
Регистрация
Восстановить пароль
 
Zealot
0 / 0 / 0
Регистрация: 22.05.2012
Сообщений: 35
#1

Запись в качестве элементов массива - C++

22.05.2012, 22:26. Просмотров 504. Ответов 10
Метки нет (Все метки)

Помогите пожалуйста.
переписать сначала отрицательные,а потом положительные элементы массива BC,содержащего N элементов,в массив ZBC.

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
#include "stdafx.h"
#include <iostream>
#include <conio.h>
using namespace std;
 
int main()
{
    int bc[30]={1,-2,3,4,5}, zbc[15]={-2,18,19,20,21},i=0, k=0,a=0;
    for (i=0; i<5; i++)
    {
        if (bc[i]<0)
         k=k+1;
        zbc[i]=k;
        if (bc[i]>=0)
                a=a+1;
            zbc[i]=a; 
            cout<<zbc[i]<<' ';
        }
    
    cout  <<zbc[i];
    getch();
 
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.05.2012, 22:26     Запись в качестве элементов массива
Посмотрите здесь:

Запись элементов массива структурного типа.Из старого массива- в новый - C++
Здравствуйте.Возможно, в названии темы не совсем понятно &quot;чего я хочу&quot;, поэтому напишу задание: &quot;1.Сформировать динамический массив...

Выборка элементов массива и их запись в переменную - C++
Доброго времени суток. Помогите сделать рандомную выборку из элементов массивов, а затем записать получивший результат в файл. По...

Запись в обратном порядке элементов массива - C++
Дан массив целых чисел А (20). Записать в обратном порядке элементы массива с индексами с пятого по пятнадцатый. #include &lt;stdio.h&gt; ...

Реализовать обработку и файловую запись/чтение массива с большим количеством элементов - C++
такую задачу поставили... имеется 600 000 элементов. Каждому элементу присвоить значение и по 300 000 записать в файл. массив такое...

Переменная в качестве размера массива - C++
Добрый вечер. Вопрос таков: мне нужно установить количество символов массива, равное переменной, но ошибка в том, что выражение должно...

Имя массива в качестве индекса - C++
Здравствуйте. Объясните, пожалуйста, как работает такой код: int a={1, 2, 3}; for (int i=0; i&lt;3; i++) cout &lt;&lt; i &lt;&lt; endl; ...

Найти сумму тех элементов массива, цифровая запись которых дает четную сумму цифр - C++
Дан массив натуральных чисел А(N), значения элементов которого лежат в диапазоне . Найти сумму тех элементов массива, цифровая запись...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
gray_fox
What a waste!
1443 / 1172 / 61
Регистрация: 21.04.2012
Сообщений: 2,449
Завершенные тесты: 3
22.05.2012, 22:53     Запись в качестве элементов массива #2
Так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
 
 
int main() {
   int bc[] = {1, -2, 3, 4, 5};
   std::size_t const N = sizeof(bc) / sizeof(*bc);
   int zbc[N];
     
   for (std::size_t i = 0, negative = 0, positive = N; i != N; ++i) {
      if (bc[i] < 0) {
         zbc[negative++] = bc[i];
      } else {
         zbc[--positive] = bc[i];
      }
   }
   
   for (std::size_t i = 0; i != N; ++i) {
      std::cout << zbc[i] << " ";
   }
}
http://liveworkspace.org/code/8cf48b...de042e32c9264c

Добавлено через 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
#include <iostream>
 
 
int main() {
   int bc[] = {1, -2, 3, 4, 5};
   std::size_t const N = sizeof(bc) / sizeof(*bc);
   int zbc[N];
   std::size_t index = 0;
   
   for (std::size_t i = 0; i != N; ++i) {
      if (bc[i] < 0) {
         zbc[index++] = bc[i];
      }
   }
   
   for (std::size_t i = 0; i != N; ++i) {
      if (!(bc[i] < 0)) {
         zbc[index++] = bc[i];
      }
   }
   
   for (std::size_t i = 0; i != N; ++i) {
      std::cout << zbc[i] << " ";
   }
}
http://liveworkspace.org/code/324614...832f2f07e6cefc
Zealot
0 / 0 / 0
Регистрация: 22.05.2012
Сообщений: 35
22.05.2012, 23:15  [ТС]     Запись в качестве элементов массива #3
Огромнейшее спасибо!

Добавлено через 20 минут
gray_fox,
Помогите пожалуйста еще переписать просто элементы имеющие нечетные индексы в zbc,в качестве элементов массива zbc с четными индексами.Или помогите встать на путь истинный
gray_fox
What a waste!
1443 / 1172 / 61
Регистрация: 21.04.2012
Сообщений: 2,449
Завершенные тесты: 3
22.05.2012, 23:20     Запись в качестве элементов массива #4
Цитата Сообщение от Zealot Посмотреть сообщение
Помогите пожалуйста еще переписать просто элементы имеющие нечетные индексы в zbc,в качестве элементов массива zbc с четными индексами.
Не понял. Поменять чётные с нечётными что ли? Как то так:
C++
1
2
3
4
5
#include <algorithm>
 
for (std::size_t i = 1; i < size; i += 2) {
    std::swap(zbc[i - 1], sbc[i]);
}
Zealot
0 / 0 / 0
Регистрация: 22.05.2012
Сообщений: 35
22.05.2012, 23:23  [ТС]     Запись в качестве элементов массива #5
из массива bc элементы с нечетными индексами,записать в качестве элементов массива zbc с четными индексами
gray_fox
What a waste!
1443 / 1172 / 61
Регистрация: 21.04.2012
Сообщений: 2,449
Завершенные тесты: 3
22.05.2012, 23:28     Запись в качестве элементов массива #6
Цитата Сообщение от Zealot Посмотреть сообщение
из массива bc нечетные индексы записать в zbc в качестве четных
Ааа...))) Так попробуй:
C++
1
2
3
for (std::size_t i = 1; i < size; i += 2) {
    zbc[i] = bc[i - 1];
}
Zealot
0 / 0 / 0
Регистрация: 22.05.2012
Сообщений: 35
22.05.2012, 23:52  [ТС]     Запись в качестве элементов массива #7
gray_fox,
даёт какие-то космические числа=\
gray_fox
What a waste!
1443 / 1172 / 61
Регистрация: 21.04.2012
Сообщений: 2,449
Завершенные тесты: 3
23.05.2012, 00:00     Запись в качестве элементов массива #8
Цитата Сообщение от Zealot Посмотреть сообщение
даёт какие-то космические числа=\
?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
 
 
int main() {
   int bc[] = {1, -2, 3, 4, 5};
   std::size_t const N = sizeof(bc) / sizeof(*bc);
   std::size_t const size = N % 2 == 0 ? N : N + 1;
   int zbc[size] = {0};
   
   for (std::size_t i = 1; i < size; i += 2) {
      zbc[i] = bc[i - 1];
   }
   
   for (std::size_t i = 0; i != size; ++i) {
      std::cout << zbc[i] << " ";
   }
}
http://liveworkspace.org/code/ac2942...e0c7beda79d09d
:-/
Zealot
0 / 0 / 0
Регистрация: 22.05.2012
Сообщений: 35
23.05.2012, 00:06  [ТС]     Запись в качестве элементов массива #9
gray_fox,
спасибо огромное,видимо проблема была в том что я вместо "size" писал N,и он ругался на меня страшными числами.
gray_fox
What a waste!
1443 / 1172 / 61
Регистрация: 21.04.2012
Сообщений: 2,449
Завершенные тесты: 3
23.05.2012, 00:08     Запись в качестве элементов массива #10
Цитата Сообщение от Zealot Посмотреть сообщение
ругался на меня страшными числами
Скорее массив не проинициализировали. Здесь будет мусор (т.е. что угодно):
C++
1
int zbc[size];
Здесь нули:
C++
1
int zbc[size] = {0};
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.05.2012, 00:11     Запись в качестве элементов массива
Еще ссылки по теме:

Функции, передача массива в качестве параметра - C++
Приветствую) Собственно, есть простенькое задание с двумерными массивами, оно выполнено: #include &lt;iostream.h&gt; #include &lt;conio.h&gt; ...

как передать аргумент в качестве массива - C++
Ребята нужно использовать алгоритм Quicksort, сам алгоритм есть и работает и есть динамический массив до начала сортировки, но вот как...

Передача массива в качестве аргумента функции - C++
В общем нужно передать массив в качестве аргумента без указания его размера, чтобы в дальнейшем присвоить все его содержимое другому...

Передача двухмерного массива в качестве аргумента - C++
Здравствуйте. Имеется код, метод print_matrix() выводит матрицу на печать. Всё работает, когда я заполняю массив в цикле, однако при...

Передача массива в функцию в качестве параметра - C++
Всем привет! Файл с реализацией: int Init_can::Send(int* msgdata) { //Send canmsg_t tx; ULONG ulWritten; ...


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

Или воспользуйтесь поиском по форуму:
Zealot
0 / 0 / 0
Регистрация: 22.05.2012
Сообщений: 35
23.05.2012, 00:11  [ТС]     Запись в качестве элементов массива #11
gray_fox, еще раз спасибо за науку
Yandex
Объявления
23.05.2012, 00:11     Запись в качестве элементов массива
Ответ Создать тему
Опции темы

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