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

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

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

составить один массив с++ - C++

14.01.2011, 22:57. Просмотров 693. Ответов 12
Метки нет (Все метки)

Дан массив С1, С2 .....С24. В массиве есть два элемента равные 0. Заменить все элементы стоящие между ними, на единицы. Кто нибудь может помочь?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.01.2011, 22:57
Здравствуйте! Я подобрал для вас темы с ответами на вопрос составить один массив с++ (C++):

Дан массив из 10 элементов.Перенести в один другой массив четные числа.Затем перенести в еще один другой масси - C++
Дан массив из 10 элементов.Перенести в один другой массив четные числа.Затем перенести в еще один другой массив нечетные числа.Помогите с...

Перенести в один другой массив четные числа.Затем перенести в еще один другой массив нечетные числа. - C++
Дан массив из 10 элементов.Перенести в один другой массив четные числа.Затем перенести в еще один другой массив нечетные числа.Помогите с...

Дан целочисленный массив размером N. Преобразовать массив, увеличив длину каждой серии на один элемент - C++
#include "stdafx.h" #include <iostream> using namespace std; int main() { int n; int k=0; int p=0; int l=0; int...

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

Дан целочисленный массив размера N. Преобразовать массив, увеличив каждую его серию на один элемент - C++
Помогите преобразовать код из языка С# в С++. Занимался разбором задачи на языке С++. Вот условие задачи: Дан целочисленный массив...

Заданы два одномерных массива действительных чисел различных размеров. Объединить их в один массив, включив второй массив между k-м и (k+1)-м элемента - C++
Заданы два одномерных массива действительных чисел различных размеров. Объединить их в один массив, включив второй массив между k-м и...

12
valeriikozlov
Эксперт С++
4673 / 2499 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
14.01.2011, 23:12 #2
Цитата Сообщение от Serpantin Посмотреть сообщение
В массиве есть два элемента равные 0
Ну если Вы это гарантируете, то так:
C++
1
2
3
4
5
6
7
8
9
int i1=-1, i2=-1, i;
for(i=0; i<24 && i1==-1; i++)
    if(C[i]==0)
        i1=i;
for(i=23; i>=0 && i2==-1; i--)
    if(C[i]==0)
       i2=i;
for(i=i1+1; i<i2; i++)
     C[i]=1;
0
Genius Ignat
1237 / 775 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
14.01.2011, 23:14 #3
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 <iostream>
using namespace std;
 
int main(){
 
 const int size = 10 ; 
 int m[size] = {5, 0, 2, 10, 8, 7, 6, 0, 9, 10};
 int i , j , beg(-1), end(-1);
 
 for( i = 0 ; i < size ; i++ )
      if( m[i] == 0 )
         for( j = i + 1 ; j < size ; j++ )
        if(m[j] == 0){
              beg = i + 1 ;
              end = j ;
          break ;
        }
 
 
 if(beg == -1 || end == -1)return 0;
 
 for( i = beg ; i < end ; i++ )m[i] = 1;
 
 for( i = 0 ; i < size ; i++ )cout<<m[i]<<' ';
 cout<<endl;
 
 
 system("pause");
 return 0;
}
0
Serpantin
0 / 0 / 0
Регистрация: 14.01.2011
Сообщений: 4
15.01.2011, 00:02  [ТС] #4
спасибо большое! все работает
0
ForEveR
В астрале
Эксперт С++
7983 / 4742 / 321
Регистрация: 24.06.2010
Сообщений: 10,545
Завершенные тесты: 3
15.01.2011, 09:05 #5
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
#include <vector>
#include <algorithm>
#include <iterator>
 
int main()
{
    std::vector<int> vec((std::istream_iterator<int>(std::cin)), std::istream_iterator<int>());
    std::vector<int>::iterator iter=std::find(vec.begin(), vec.end(), 0);
    std::vector<int>::iterator enditer=std::find(iter+1, vec.end(), 0);
    std::for_each(iter+1, enditer, [](int& one) {one=1;});
    std::copy(vec.begin(), vec.end(), std::ostream_iterator<int>(std::cout, " "));
    system("pause");
    return 0;
}
0
igorrr37
1648 / 1276 / 133
Регистрация: 21.12.2010
Сообщений: 1,932
Записей в блоге: 7
15.01.2011, 09:27 #6
ForEveR, ошибку выдаёт
CodeBlocks\Projects\main.cpp|11|error: expected primary-expression before '[' token|
вот на этой конструкции
Цитата Сообщение от ForEveR Посмотреть сообщение
[](int& one) {one=1;}
0
silent_1991
Эксперт С++
4987 / 3044 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
15.01.2011, 09:30 #7
igorrr37, видимо, версия MinGW, которая у вас в CodeBlocks, ещё не поддерживает часть нового стандарта, которую поддерживают, например, последняя версия GCC и мелкософтовского компилятора, в частности, лямбда-выражения, на котором у вас и выскочила ошибка.
1
asics
Freelance
Эксперт С++
2848 / 1783 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
15.01.2011, 16:35 #8
Вот у меня тоже Code::Blokcs версии 10.05 , я в настройках включил флаг -std=c++0x и уже даже заполняет векотор так
C++
1
std::vector<int> a = {1, 2, 3, 4, 5};
а вот лямбда функции не хочет читать.

Добавлено через 2 минуты
Установочный файл клмпилятора(MinGW) выглядит так tdm-mingw-1.908.0-4.4.1-2.exe
1
igorrr37
1648 / 1276 / 133
Регистрация: 21.12.2010
Сообщений: 1,932
Записей в блоге: 7
16.01.2011, 05:37 #9
Цитата Сообщение от asics Посмотреть сообщение
Установочный файл клмпилятора(MinGW) выглядит так tdm-mingw-1.908.0-4.4.1-2.exe
спасибо!
скачал tdm-gcc-4.5.1 20.6 MB http://tdm-gcc.tdragon.net/download, переустановил кодеблокс и установил этот пакет в папку ...\CodeBlocks\MinGW, лямбда функции стали работать)))
1
Serpantin
0 / 0 / 0
Регистрация: 14.01.2011
Сообщений: 4
17.01.2011, 17:58  [ТС] #10
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 "stdafx.h"
#include <conio.h>
#include <iostream>
using namespace std;
#define SIZE 24
int tmain()
    {
        double a[SIZE];
        int flag = 0;
        cout<<"введите " <<SIZE<< " чисел"<< endl;
        for(int i=0;i<SIZE;i++)
            cin>>a[i];
for(i=0;i<SIZE;i++)
{
    if(a[i]=0);
    {
        flag^=1;
        continue;
    }
    if (flag && a[i]>=0) a[i]=0;
}
for(int i=0;i<SIZE;i++)
cout<<a[i]<<" ";
_getch();
    }
Постарался сделать сам...может объяснит кто в чем ошибки. В С++ недавно, трудно дается((
0
MILAN
886 / 780 / 86
Регистрация: 21.02.2009
Сообщений: 1,722
17.01.2011, 18:00 #11
Serpantin, разве вам компилятор не обясняет?
0
Serpantin
0 / 0 / 0
Регистрация: 14.01.2011
Сообщений: 4
17.01.2011, 18:04  [ТС] #12
неописанный идентификатор...попросил бы ткнуть пальцем что исправить если можно
0
MILAN
886 / 780 / 86
Регистрация: 21.02.2009
Сообщений: 1,722
17.01.2011, 18:07 #13
Цитата Сообщение от Serpantin Посмотреть сообщение
for(i=0;i<SIZE;i++)
Огласить переменую i !!!
0
17.01.2011, 18:07
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.01.2011, 18:07
Привет! Вот еще темы с ответами:

Составить из двух одномерных массивов один двумерный - C++
Пожалуйста помогите. 1.2. Написать программу инициализации двух массивов с типом int: mass1={0,1,2,3,4,5,6,7,8,9} и...

Массив: Составить массив из двух исходных по заданному принципу заполнения - C++
Сформировать массив из элементов первого массива, больших последнего элемента второго массива, и элементов второго массива, меньших...

Сформировать один массив из другого - C++
Дан массив A(N). Сформировать массив B(M), элементами которого являются большие из двух рядом стоящих в массива А чисел.(например, массив А...

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


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

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

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