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

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

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

не могу понять в чем ошибка - C++

23.04.2013, 18:05. Просмотров 321. Ответов 7
Метки нет (Все метки)

Задание: Найти наибольший элемент каждой пары из массива А и записать их в новый массив. Получить из него массив четных положительных чисел
Вот что у меня получилось:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#pragma argsused
#include<iostream.h>
int main(int argc, char* argv[])
{int a[10], i, b[5],k;
for(int i=0; i<10; i++)
     {cout<<"Vvedite element";
     cin>>a[i];
      }
for(int i=0; i<10; i++)
cout<<a[i];
for(int i=0; i<10; i+=2)
 {if (a[i]>a[i++]) {b[k]=a[i]; k++;}
   else {b[k]=a[i++]; k++;}
  }
for(int i=0; i<k; i++)
     cout<<b[k];
system("pause");
        return 0;
}
Выдает ошибку в этой строке:
C++
1
else {b[k]=a[i++]; k++;}
Помогите разобраться в чем тут дело
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.04.2013, 18:05
Здравствуйте! Я подобрал для вас темы с ответами на вопрос не могу понять в чем ошибка (C++):

Не могу понять в чем ошибка - C++
#include&lt;stdio.h&gt; #include&lt;math.h&gt; #include&lt;conio.h&gt; int main(){ double a,b,c; double x1,x2,D,x; printf(&quot;Enter a b...

Не могу понять в чем ошибка? - C++
#include &lt;stdlib.h&gt; #include &lt;iostream.h&gt; #include &lt;conio.h&gt; #include &lt;graphics.h&gt; #include &lt;math.h&gt; #include &lt;process.h&gt; ...

В чем ошибка не могу понять? - C++
#include &lt;iostream.&gt; #include &lt;stdio.h&gt; #include &lt;cmath&gt; int main() { double S = 0.0; for (int i=1; i&lt;=10;...

Не могу понять в чем ошибка - C++
написать программу в CodeBlocks, никак не могу понять в чем ошибка. Найти периметр эллипса по двум радиусам. #include &lt;iostream&gt; ...

Не могу понять в чем ошибка - C++
Добрый вечер, есть задача: ********/index.asp?main=task&amp;id_task=315 Я решаю ее таким образом: #include &lt;fstream&gt; char...

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

7
Tulosba
:)
Эксперт С++
4397 / 3233 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
23.04.2013, 18:16 #2
clockwork_orang, у Вас переменная k не инициализирована.
0
Catstail
Модератор
22915 / 11281 / 1833
Регистрация: 12.02.2012
Сообщений: 18,492
23.04.2013, 18:22 #3
Цитата Сообщение от clockwork_orang Посмотреть сообщение
наибольший элемент каждой пары
- что имеется в виду? Вот есть массив X={1,2,3,4,5} Где пары?
0
hofmn
Helter Skelter
61 / 61 / 1
Регистрация: 19.09.2012
Сообщений: 133
23.04.2013, 18:23 #4
C++
1
int a[10], i, b[5], k = 0;
0
Tulosba
:)
Эксперт С++
4397 / 3233 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
23.04.2013, 18:28 #5
Цитата Сообщение от Catstail Посмотреть сообщение
Вот есть массив X={1,2,3,4,5} Где пары?
Могу предположить, что пары такие (1,2), (2,3) ... (4,5).
По коду заметил ещё, что внутри цикла не стоит i инкрементить при обращении к элементам:
C++
1
2
3
4
5
for(int i=0; i<10; i+=2)
{
   if (a[i]>a[i+1]) {b[k]=a[i]; k++;}
   else {b[k]=a[i+1]; k++;}
}
Хотя общую правильность не проверял.
1
clockwork_orang
0 / 0 / 0
Регистрация: 03.04.2013
Сообщений: 20
23.04.2013, 18:49  [ТС] #6
после инициализации k программа не выдает новый массив

Добавлено через 3 минуты
сравниваться должны элементы (1;2) (3;4) (5;6)...

Добавлено через 16 минут
Цитата Сообщение от Tulosba Посмотреть сообщение
По коду заметил ещё, что внутри цикла не стоит i инкрементить при обращении к элементам:
C++
1
2
3
4
5
for(int i=0; i<10; i+=2)
{
   if (a[i]>a[i+1]) {b[k]=a[i]; k++;}
   else {b[k]=a[i+1]; k++;}
}
Хотя общую правильность не проверял.
Выдает новый массив, но в нем все элементы равны 1
0
Lionische
5 / 1 / 1
Регистрация: 19.02.2012
Сообщений: 33
23.04.2013, 18:49 #7
Цитата Сообщение от clockwork_orang Посмотреть сообщение
после инициализации k программа не выдает новый массив

Добавлено через 3 минуты
сравниваться должны элементы (1;2) (3;4) (5;6)...
C++
1
2
for(int i=0; i<k; i++)
     cout<<b[k];
тут должно быть
C++
1
cout<<b[і];
1
Catstail
Модератор
22915 / 11281 / 1833
Регистрация: 12.02.2012
Сообщений: 18,492
23.04.2013, 19:03 #8
Вот, не парься:

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
#include <iostream.h>
 
int main(int argc, char* argv[])
{ 
    int a[10],i,b[5],k;
 
    for(i=0; i<10; i++)
    {
        cout << "Enter element ";
        cin >> a[i];
    }
 
    for(i=0; i< 10; i++)
        cout << a[i] << " " ;
    cout << endl;
 
    k=0;
    for(i=0; i<8; i+=2)
        if (a[i] > a[i+1])
            b[k++]=a[i];
        else
            b[k++]=a[i+1];
    for(i=0; i<k; i++)
         cout << b[i] << " ";
    return 0;
}
1
23.04.2013, 19:03
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.04.2013, 19:03
Привет! Вот еще темы с ответами:

не могу понять в чем ошибка. - C++
Здравствуйте. Извините если подобные темы уже есть или это типичный вопрос но я их не нащел в поиске. Я недавно на С++ совсем и хотелось бы...

Не могу понять в чем ошибка?! - C++
Задание: -Визначити кількість вузлів дерева, в яких є два нащадки. -функция добавления елемента -функцию удаления елемента -функцію...

Не могу понять в чем ошибка - C++
Мне нужно сделать менюшку, в которую я записываю данный в бинарный файл, но после ввода имени, у меня выдает 2 cout'a и не могу ввести...

не могу понять в чем ошибка - C++
Вот мое задание: Вычислить и вывести на экран в виде таблицы значения функции F на интервале от Х до Х с шагом dx. Функция F: -ax^2...


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

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

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