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

Нахождения кол-ва элементов между первым и последним положительным. Найдите ошибку - C++

Восстановить пароль Регистрация
 
понтуног
-156 / 0 / 0
Регистрация: 24.12.2013
Сообщений: 113
26.04.2014, 15:36     Нахождения кол-ва элементов между первым и последним положительным. Найдите ошибку #1
Вот программа, не могу найти ошибку, не силен в синтаксисе с++.
Нас в техе так учат писать. Может в цклах ошибки, хз.
Может это язык С.
"std" - хз, что это, нас такой штуке не учили.)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream.h>
int main ()
{int a[10] , i, n=10, c,b ,t=0;
for (i=0; i<n; i++)
cin>>a[i]
for (i=0; i<n; i++)
if (a[i]>0) c=i;//нахождение последнего положительного
for (i=n-1; i>=0; i++) // первого полож.
if (a[i]>0) b=i
for (i=b+1; i<c; i++) // кол-во
t=t+1
cout<<t
return 0;
}
Задание:
Найти кол-во элементов между первым и последним положительным.
Выводит какие-то огромные числа типа 3568
Найдите ошибку
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.04.2014, 15:36     Нахождения кол-ва элементов между первым и последним положительным. Найдите ошибку
Посмотрите здесь:

разница элементов массива, расположенных между первым отрицательным и вторым положительным элементами C++
Сумма элементов массива, расположенных между первым и последним положительным элементом C++
C++ че не так считает сумму между первым и последним положительным элементом
C++ Некорректно работает функция sum! Она должна искать сумму между первым и последним положительным элементами!
Сумма элементов между первым положительным элементом массива и последним отрицательным C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
RQdan
65 / 65 / 17
Регистрация: 26.10.2013
Сообщений: 198
26.04.2014, 15:42     Нахождения кол-ва элементов между первым и последним положительным. Найдите ошибку #2
Цитата Сообщение от понтуног Посмотреть сообщение
8 for (i=n-1; i>=0; i++) // первого полож.
Надо:
for (i=n-1; i>=0; i--) // первого полож.
cooller
 Аватар для cooller
564 / 532 / 120
Регистрация: 25.12.2013
Сообщений: 1,456
26.04.2014, 15:48     Нахождения кол-ва элементов между первым и последним положительным. Найдите ошибку #3
Цитата Сообщение от понтуног Посмотреть сообщение
cin>>a[i]
Цитата Сообщение от понтуног Посмотреть сообщение
b=i
Цитата Сообщение от понтуног Посмотреть сообщение
t=t+1
cout<<t
забыли точку с запятой в конце
Цитата Сообщение от понтуног Посмотреть сообщение
"std" - хз, что это, нас такой штуке не учили.)
это пространство имен, cin и cout определенны в нем
понтуног
-156 / 0 / 0
Регистрация: 24.12.2013
Сообщений: 113
26.04.2014, 16:04  [ТС]     Нахождения кол-ва элементов между первым и последним положительным. Найдите ошибку #4
cooller_94, просто стд по-подробнее пожалуйста.

Добавлено через 19 секунд
RQdan, и все будет получатся?
RQdan
65 / 65 / 17
Регистрация: 26.10.2013
Сообщений: 198
26.04.2014, 16:08     Нахождения кол-ва элементов между первым и последним положительным. Найдите ошибку #5
Цитата Сообщение от понтуног Посмотреть сообщение
RQdan, и все будет получатся?
Должно.
Хотя код далеко не идеален.
cooller
 Аватар для cooller
564 / 532 / 120
Регистрация: 25.12.2013
Сообщений: 1,456
26.04.2014, 16:10     Нахождения кол-ва элементов между первым и последним положительным. Найдите ошибку #6
Цитата Сообщение от понтуног Посмотреть сообщение
и все будет получатся?
не будет если не поставите ;
Цитата Сообщение от понтуног Посмотреть сообщение
просто стд по-подробнее пожалуйста.
пространство имен используется для того что ограничить видимость функций, переменных и тд.
чтобы ваша программа сработала, нужно перед мейном указать
C++
1
using namespace std;
без подключения можно явно указывать, например так
C++
1
std::cout<<
или тоже перед мейном
C++
1
2
using std::cout;
using std::cin
понтуног
-156 / 0 / 0
Регистрация: 24.12.2013
Сообщений: 113
26.04.2014, 16:17  [ТС]     Нахождения кол-ва элементов между первым и последним положительным. Найдите ошибку #7
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream.h>
int main ()
{int a[10] , i, n=10, c,b ,t=0;
for (i=0; i<n; i++)
cin>>a[i];
for (i=0; i<n; i++)
if (a[i]>0) c=i;//нахождение последнего положительного
for (i=n-1; i>=0; i--) // первого полож.
if (a[i]>0) b=i;
for (i=b+1; i<c; i++) // кол-во
t=t+1;
cout<<t;
return 0;
}
Так?

Добавлено через 48 секунд
cooller_94, оно и без стд работает.
Fear1911
6 / 3 / 7
Регистрация: 05.02.2014
Сообщений: 131
26.04.2014, 18:28     Нахождения кол-ва элементов между первым и последним положительным. Найдите ошибку #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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
// ConsoleApplication25.cpp: определяет точку входа для консольного приложения.
//
 
#include "stdafx.h"
#include <iostream>
 
using namespace std;
 
//Найти кол-во элементов между первым и последним положительным.
void main()
{
    
    int c[10];
    int i, m[10];
    int b=0;
    for (i=0; i<10;i++)
    {
        cin>>m[i];
    }
 
    for(i=0; i<10; i++)
    {
        
        if(m[i] > 0)
        {
 
            c[b] = i;
            b++;
        }
    }
    int k;
    k = c[0];
    int n;
    n = c[1];
    int s=0-1;
 
    for(i=k; m[i]<m[n]; i++)
    {
        s++;
        
    }
    
    cout<<"El: "<<s;
    system("pause");
}
писал пока был пьян сном, поэтому можно упорстить, но работает:
Миниатюры
Нахождения кол-ва элементов между первым и последним положительным. Найдите ошибку  
понтуног
-156 / 0 / 0
Регистрация: 24.12.2013
Сообщений: 113
26.04.2014, 19:23  [ТС]     Нахождения кол-ва элементов между первым и последним положительным. Найдите ошибку #9
Fear1911, зачем 2 массива? :/
Fear1911
6 / 3 / 7
Регистрация: 05.02.2014
Сообщений: 131
26.04.2014, 19:29     Нахождения кол-ва элементов между первым и последним положительным. Найдите ошибку #10
понтуног, для запоминания номеров нулевых элементов
cooller
 Аватар для cooller
564 / 532 / 120
Регистрация: 25.12.2013
Сообщений: 1,456
26.04.2014, 19:38     Нахождения кол-ва элементов между первым и последним положительным. Найдите ошибку #11
понтуног,
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>
#include<cstdlib>
 
int main()
{
    size_t size_arr, first_positive, last_positive,count(0);
    std::cin >> size_arr;
    int *arr = new int[size_arr];
    for (size_t i = 0; i < size_arr; i++){
        std::cout << (arr[i] = rand() % 25 - 10) << " ";
        if (arr[i] > 0) last_positive = i;
    }
    for (size_t i = 0; i < size_arr; i++){
        if (arr[i] > 0)
        {
            first_positive = i;
            break;
        }
    }
    std::cout << "\ncount: " << last_positive - first_positive - 1;
    return 0;
}
понтуног
-156 / 0 / 0
Регистрация: 24.12.2013
Сообщений: 113
28.04.2014, 19:30  [ТС]     Нахождения кол-ва элементов между первым и последним положительным. Найдите ошибку #12
Fear1911, дай ссылку через что ты проверял ее
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.04.2014, 03:04     Нахождения кол-ва элементов между первым и последним положительным. Найдите ошибку
Еще ссылки по теме:

Вычислить разницу элементов массива, что расположены между первым отрицательным та вторым положительным элементами C++
сумма элементов массива через один между первым отрицательным и последним положительным C++
C++ Разница элементов массива между первым отлрицательным и вторым положительным элементам

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

Или воспользуйтесь поиском по форуму:
Fear1911
6 / 3 / 7
Регистрация: 05.02.2014
Сообщений: 131
29.04.2014, 03:04     Нахождения кол-ва элементов между первым и последним положительным. Найдите ошибку #13
понтуног, эм...через консольное приложение win32)))
Yandex
Объявления
29.04.2014, 03:04     Нахождения кол-ва элементов между первым и последним положительным. Найдите ошибку
Ответ Создать тему
Опции темы

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