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

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

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

Подскажите программу с циклом while - C++

29.12.2009, 19:25. Просмотров 331. Ответов 1
Метки нет (Все метки)

сдал преподу программу рабочюю нужно найти Сумму элементов, расположенных между первым и последним нулевыми элементами вот код
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
#include <stdafx.h>
#include <iostream>
#include <conio.h>
using namespace std;
int main()
{
const int N = 10;
int i = 0;
int m[N] ={10 , 0 , 22 , 30 , 14 , 0 , 9, 4 , 2 , 3 };
for(i = 0; i < N; i++)
cout << m[i] << " ";
int zero_b = -1;
int zero_e = -1;
for(i = 0; i < N; i++)
{
if(m[i] == 0)
{
zero_e = i;
if(zero_b == -1)
zero_b = i;
}
}
if(zero_b == -1 && zero_e == -1)
cout << "nety nylevix elementov\n";
else
{
cout << "Nomer pervogo nulevogo elementa = " << zero_b << endl;
cout << "Nomer poslednego nulevogo elementa = " << zero_e << endl;
}
int sum = 0;
if(zero_b == -1 && zero_e == -1)
{
return 0;
}
else
{
for(i = zero_b+1; i < zero_e; i++)
{
sum += m[i];
}
cout << "Summa mejdy elementami " << zero_b << " and " << zero_e << " nulevoi element = " << sum << endl;
}
_getch ();
return 0;
}
он мне сказал что ты находишь эл-ты долго тоесть(еслбы был массив 20000 он бы долго искал нули) он сказал ты должен сделать что бы массив шёл с начала и натыкался на ноль и с конца штобы натыкался на ноль што бы программа!!! работала быстро помогите пожалуста завтра уже сдавать
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.12.2009, 19:25     Подскажите программу с циклом while
Посмотрите здесь:

Подскажите как реализовать задачу в коде. С циклом - C++
Я хочу сделать цикл, который откидывает старшую цифру с введённого числа. Если мне память не изменяет то старшая цифра числа 5783 это 5....

Написать программу с циклом while - C++
помогите плз. никак не получается. нашел код, но получается если первое число больше второго то прога работает, а если первое написать...

составте программу с циклом - C++
23. Написать программу, которая определяет максимальное число из введенной с клавиатуры последовательности 10 положительных чисел.

поскажите или напишите программу с циклом for - C++
Предположим, что A говорит: &quot;Или я лжец, или два плюс два - пять&quot;. К какому заключению можно прийти на основании этого...

поскажите или напишите программу с циклом if( - C++
29. Предположим, что A говорит: &quot;Или я лжец, или B рыцарь&quot;. Кто из двух персонажей A и B рыцарь и кто лжец?

Как сделать такую же программу, но с циклом for? - C++
#pragma hdstop #include &lt;stdio.h&gt; #include &lt;conio.h&gt; #define eof 26 int main() { int far; while(far!=eof) ...

не могу написать программу, траблы с циклом у факториала - C++
Даны вещественные числа x, E. Вычислить сумму ряда S=1+(x^2)/2!+(x^4)/4!+...+(x^(2*n))/(2*n)! с погрешностью E&gt;0. Буду очень благодарен!...

Подскажите программу - C++
Здравствуйте. Изучаю си++. Уже есть опыт написания консольных приложений, хорошо знаю синтаксис. Все советуют изучать программирование с...

Подскажите: подключение файла в программу. - C++
Здравствуйте. Хочу написать установщик шаблона. Требуется: программка которая по запуску вставляет файл в определенную папку. Файл есть,...

Подскажите как написать программу - C++
не могу разобраться с логарифмом и корнем, помогите написать g=x*Ln(\frac{2x}{b})cos{}^{2}a a=0.3, b=0.05 Редактор формул внизу...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
accept
4821 / 3241 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
30.12.2009, 01:24     Подскажите программу с циклом while #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
#include <stdio.h>
 
int main(void) /* C89 ANSI */
{
    int n[] = { 10 , 0 , 22 , 30 , 14 , 0 , 9, 4 , 2 , 3 };
    long i, j, space;
    
    long len = sizeof n / sizeof n[0];
    
    for (i = 0; i < len; i++)
        if (n[i] == 0)
            break;
    
    for (j = len-1; j >= 0; j--)
        if (n[j] == 0)
            break;
    
    if ((space = j-i-1) <= 0)
        return 1;
    
    printf("%ld" "\n", space);
    
    return 0;
}
Ответ Создать тему
Опции темы

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