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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.90
punser
3 / 3 / 1
Регистрация: 18.03.2010
Сообщений: 32
#1

Не могу найти ошибку в массиве - C++

21.05.2011, 09:01. Просмотров 1225. Ответов 31
Метки нет (Все метки)

Подскажите, что делаю не так.
Задача:
Определить номер и значение первого отрицательного элемента в массиве mas(n). Предусмотреть в программе вывод сообщения, если таковой отсутствует
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include<stdio.h>
#include<iostream.h>
#include<constrea.h>
void main()
{
int i,a;
const n=5;
float mas[n];
for(i=0; i<n; i++)
cin>>mas[i];
do
{
if (mas[i]<0)
mas[i]=a;
else
cout<<"Otricatelnyh elementov net";
i++;
}
while(i<n);
cout<<a;
getch();
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.05.2011, 09:01     Не могу найти ошибку в массиве
Посмотрите здесь:

Не могу найти ошибку в массиве - C++
Добрый вечер. Никак не могу найти ошибку. Спасибо за помощь # include &lt;iostream&gt; # include &lt;math.h&gt; # include &lt;conio.h&gt; #...

Не могу найти ошибку - C++
Помогите найти ошибку: #include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;string&gt; #include &lt;fstream&gt; using namespace std; ...

Не могу найти ошибку - C++
Компилятор выдает такую ошибку: fatal error C1075: конец файла обнаружен ранее, чем левая фигурная скобка &quot;{&quot; в...

Не могу найти ошибку! - C++
Пробую что-то вычудить..... не могу найти ошибку (просто интересно) #include &lt;iostream&gt; using namespace std; ...

Не могу найти ошибку - C++
#include &quot;stdafx.h&quot; #include &lt;conio.h&gt; class Sum { public: int sum1 (int x1, int x2) { return x1 + x2; ...

Не могу найти ошибку - C++
Уважаемые форумчане! Скорее всего моя ошибка опять глупая, но я просто не могу её понять. Самое странное что он даже просто ввести строку...

Не могу найти ошибку - C++
Условие задачи: Написать функцию решения квадратного уравнения. Помогите найти ошибку: #include &lt;iostream.h&gt; int sqvare (int a)...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
punser
3 / 3 / 1
Регистрация: 18.03.2010
Сообщений: 32
24.05.2011, 14:59  [ТС]     Не могу найти ошибку в массиве #21
Rexer,
Вот что получается, если использовать Ваш код:
http://i22.***********/big/2011/0524/...c36d1c31a4.jpg
diagon
Higher
1928 / 1194 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
24.05.2011, 15:09     Не могу найти ошибку в массиве #22
C++
1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
#define size 10
int s,n[size],i;
int main(){
    while (i < size)
        std::cin >> n[i++];
    for (i=1; i < size; i+=2)   //2,4,6,8...
        s+=n[i];
    std::cout << s;
    return 0;
}
Rexer
163 / 162 / 20
Регистрация: 10.10.2010
Сообщений: 724
24.05.2011, 15:12     Не могу найти ошибку в массиве #23
У меня в codeblocks получается 2.Вы точно мой код скопировали?
Попробуйте так тогда
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include<iostream>
using namespace std;
int main(void)
{
int i;
const int n = 5;
float sum,mas[n];
 
for(i=0; i<n; i++)
cin>>mas[i];
 
for(i=0; i<n; i++)
cout<<mas[i]<<" ";
 
sum = 0;
for(i = 0;i < n;i++)
{
if(i%2!=0)
 sum+=mas[i];
}
cout<<endl<<sum;
}
Хотя я ,если честно,не понимаю,почему у вас выводится такой ответ.
punser
3 / 3 / 1
Регистрация: 18.03.2010
Сообщений: 32
24.05.2011, 15:38  [ТС]     Не могу найти ошибку в массиве #24
Rexer, Огромное спасибо!!! Этот вариант работает. Еще вопросик, а что за строчка
C++
1
using namespace std
. У меня с ней ошибку выкидывает, а когда удаляю всё работает?
co6ak
Кошковед
407 / 500 / 29
Регистрация: 12.04.2010
Сообщений: 1,392
24.05.2011, 15:43     Не могу найти ошибку в массиве #25
Цитата Сообщение от punser Посмотреть сообщение
Rexer, Огромное спасибо!!! Этот вариант работает. Еще вопросик, а что за строчка
C++
1
using namespace std
. У меня с ней ошибку выкидывает, а когда удаляю всё работает?
это хорошо что ошибка.
использование этой строчки вредит карме.
где-то на форуме описана насильственная привязка к кодировке
diagon
Higher
1928 / 1194 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
24.05.2011, 15:46     Не могу найти ошибку в массиве #26
Т.е. у вас компилируется cin/cout/etc без
C++
1
using namespace std;
Чудеса...
В любом случае, удалите свою IDE
silent_1991
24.05.2011, 16:27
  #27

Не по теме:

Цитата Сообщение от diagon Посмотреть сообщение
Чудеса...
Эти чудеса название имеют - Borland...

diagon
24.05.2011, 16:37
  #28

Не по теме:

Это да, я вот очень долго думал, что на проверяющей системе ******** не работает iostream, т.к. у меня компилировалось, а у них нет... Я на си около 30 задач там сдал, пока не узнал истину=)
Но имхо как IDE билдер удобнее MSVS будет. Сейчас на линукс пересел, после билдера на code::blocks и эклипсе крайне неудобно писать.

Rexer
163 / 162 / 20
Регистрация: 10.10.2010
Сообщений: 724
24.05.2011, 16:52     Не могу найти ошибку в массиве #29
C++
1
using namespace std
это стандартное пространство имен,его лучше не использовать,лучше писать так
C++
1
std::cout<<sum;
,то что я написал считается плохим тоном и почти ошибкой
я написал,чтобы быстрее пример посмотреть,программа у вас маленькая же.
Почему у вас компилируется программа без этой строчки я не понимаю,скорее всего это ваш IDE чудит)
Первый вариант программы моей тоже рабочий,но ваш компилятор видимо не так понял строчку
C++
1
2
3
do{
i++;
}while();
Это бывает.Так как разные компиляторы немного по-разному понимают когда к i прибавлять единичку)
Мой вам совет - перейдите на более простые IDE.
Типа Dev Cpp хотя бы.Иначе замучаетесь с борландом.

Добавлено через 1 минуту
Цитата Сообщение от diagon Посмотреть сообщение
Не по теме:
Это да, я вот очень долго думал, что на проверяющей системе ******** не работает iostream, т.к. у меня компилировалось, а у них нет... Я на си около 30 задач там сдал, пока не узнал истину=)
Но имхо как IDE билдер удобнее MSVS будет. Сейчас на линукс пересел, после билдера на code::blocks и эклипсе крайне неудобно писать.
И в чем же была истина,уважаемый Диагон?
asics
24.05.2011, 16:55
  #30

Не по теме:

Цитата Сообщение от Rexer Посмотреть сообщение
И в чем же была истина,уважаемый Диагон?
Читай подпись(мою)

diagon
24.05.2011, 16:55
  #31

Не по теме:

Что using namespace std; хотя бы писать нужно. Билдер на такие мелочи не отвлекается, он компилирует все, что видит. Включая такой код

C++
1
2
3
main(){
exit(0);
}

MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.05.2011, 19:23     Не могу найти ошибку в массиве
Еще ссылки по теме:

Не могу найти ошибку - C++
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;math.h&gt; #include &lt;iomanip&gt; using namespace std; int _tmain() { ...

Не могу найти ошибку - C++
Задача: вывести элементы массива, которые повторяются ровно 2 раза #include &lt;cstdlib&gt; #include &lt;iostream&gt; using namespace std; ...

Не могу найти ошибку - C++
Осуществить циклический сдвиг квадратной матрицы размерности NxN вправо на N элементов таким образом: элементы 1-й строки сдвигаются в...

Не могу найти ошибку - C++
Кусок программы. Нужно найти в файле необходимую услугу и записать её номер. У строки searching уже есть значение. Пример строки: Cвязь...

Не могу найти ошибку - C++
Как правильно сделать через рекурсию?


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

Или воспользуйтесь поиском по форуму:
lamed
297 / 297 / 71
Регистрация: 07.05.2011
Сообщений: 592
24.05.2011, 19:23     Не могу найти ошибку в массиве #32
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
31
// Определить номер и значение первого отрицательного элемента в
// массиве mas(n). Предусмотреть в программе вывод сообщения, если таковой отсутствует
/// #include<stdio.h>
 
// G++/Code::Blocks
#include <iostream>
#include <cstdio>
#include <cstdlib>
using namespace std;
 
/// #include<iostream.h>
/// #include<constrea.h>
int main()
{
    int i, a;
    const int n=5;
    float mas[n];
 
    for(i=0; i<n; i++)
        cin>>mas[i];
    for (i=0; i<n && mas[i]>=0; i++)
        ;
    if (i<n)
        cout<<i<<' '<<a[i] <<endl;
    else
        cout<<"Otricatelnyh elementov net" << endl;
 
    system("pause");
///    getch();
    return 0;
}
Yandex
Объявления
24.05.2011, 19:23     Не могу найти ошибку в массиве
Ответ Создать тему
Опции темы

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