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

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

Восстановить пароль Регистрация
 
Zealot
0 / 0 / 0
Регистрация: 22.05.2012
Сообщений: 35
22.05.2012, 22:26     Запись в качестве элементов массива #1
Помогите пожалуйста.
переписать сначала отрицательные,а потом положительные элементы массива 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++
Имя массива в качестве индекса C++
C++ Найти сумму тех элементов массива, цифровая запись которых дает четную сумму цифр, а также найти максимальный элемент массива
C++ Запись элементов массива структурного типа.Из старого массива- в новый
Передача символьного массива в качестве аргумента C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
gray_fox
What a waste!
 Аватар для gray_fox
1244 / 1127 / 53
Регистрация: 21.04.2012
Сообщений: 2,350
Завершенные тесты: 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!
 Аватар для gray_fox
1244 / 1127 / 53
Регистрация: 21.04.2012
Сообщений: 2,350
Завершенные тесты: 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!
 Аватар для gray_fox
1244 / 1127 / 53
Регистрация: 21.04.2012
Сообщений: 2,350
Завершенные тесты: 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!
 Аватар для gray_fox
1244 / 1127 / 53
Регистрация: 21.04.2012
Сообщений: 2,350
Завершенные тесты: 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!
 Аватар для gray_fox
1244 / 1127 / 53
Регистрация: 21.04.2012
Сообщений: 2,350
Завершенные тесты: 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++
C++ Запись в обратном порядке элементов массива
C++ Переменная в качестве размера массива

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

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

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