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

break или как сделать лучше код - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Составление алгоритма по коду программы http://www.cyberforum.ru/cpp-beginners/thread834112.html
Есть ли тут люди, которые могут помочь в составление алгоритма такой вот программки?: #include <iostream> #include <fstream> #include <algorithm> #include <iterator> #include <string> using...
C++ Функция которая возвращает класс Есть функция считывания вектора с формы Вызов функции выглядит так Vector1.GetVector(GridOfVector1); CVector CVector::GetVector(TStringGrid* A) { this->m_nX = StrToInt(A->Cells); this->m_nY =... http://www.cyberforum.ru/cpp-beginners/thread834073.html
C++ Робота с файлами (найти ошибку в коде)
Ребята помогите пожалуйста. Никак не получается разобраться с проблемой подсчета. Мне кажется что я неграмотно написал функцию VOID scan(). Дело в том что если я оставляю, например, if...
Массивы. Подсчитать количество пар соседних элементов с одинаковыми значениями C++
1)Решить задачи, используя динамический одномерный массив. Выделение памяти под массив, его ввод с клавиатуры, вывод результата и основное действие в программе реализовать в виде функций (т.е....
C++ Работа с файлами. Потоки http://www.cyberforum.ru/cpp-beginners/thread834049.html
#include "stdafx.h" #include <iostream> #include <fstream> using namespace std; int main() { int a; int i=0; ofstream out("file.txt"); for(int i=0;i<6;i++)
C++ Нет доступа к файлу Всем здравствуйте. Вот какая проблема: имеется txt файл, в нем записан 0. После выполнения программы к 0 прибавляется (должна прибавляться) 1 и записывается еще пара чисел. Я попробовал просто... подробнее

Показать сообщение отдельно
faLek
99 / 100 / 7
Регистрация: 06.03.2012
Сообщений: 478

break или как сделать лучше код - C++

10.04.2013, 22:16. Просмотров 397. Ответов 5
Метки (Все метки)

Вообщем делал задание "НАйти первый и последний нулевой элемент",так вот ,дан рабочий код,ну есть интересующий вопрос ,яхотел бы использовать оператор break,чтобы только после первого найденного нуля меня выбрасывало из цикла,после нескольких неудачных попыток,получалось следующее:а)выходило из программы после первой выполненной итерации,б)выдаволо большое число=)
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
46
47
48
49
50
#include "stdafx.h"
#include <iostream>
#include <clocale>
#include <iomanip>
#include <ctime>
 
using namespace std;
 
 
int _tmain()
{
    setlocale (LC_ALL,"Russian");
    srand (time(NULL));
 
    const int N = 10;
    int massiv [N];
 
    cout<<"Исходный массив: "<<endl;
    for (int i = 0;i<N;i++)
    {
        massiv[i] = rand () % 3;
        cout<<setw (3)<<massiv[i];
    }
 
    cout<<endl;
 
    int last_null;
    for (int i = 0;i<N;i++)
    {
        if (massiv[i]  == 0 )
            last_null = i;
        
            
                
    }
 
    cout<<"Индекс последнего нулевого элемента:"<<last_null<<endl;
 
    int first_null; 
    for (int i = 9;i>0;i--)
    {
        if (massiv[i] == 0)
            first_null = i;
    }
 
    cout<<"Индекс первого нулевого элемента: "<<first_null<<endl;
 
    system ("pause");
    return 0;
}

Вот как должен был по идее выглядеть цикл с break,ну не много по размышляв ,я понял что компилятор прав к варианту а)
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
46
47
48
49
50
#include "stdafx.h"
#include <iostream>
#include <clocale>
#include <iomanip>
#include <ctime>
 
using namespace std;
 
 
int _tmain()
{
    setlocale (LC_ALL,"Russian");
    srand (time(NULL));
 
    const int N = 10;
    int massiv [N];
 
    cout<<"Исходный массив: "<<endl;
    for (int i = 0;i<N;i++)
    {
        massiv[i] = rand () % 3;
        cout<<setw (3)<<massiv[i];
    }
 
    cout<<endl;
 
    int last_null;
    for (int i = 0;i<N;i++)
    {
        if (massiv[i]  == 0 )
            last_null = i;break;
        
            
                
    }
 
    cout<<"Индекс последнего нулевого элемента:"<<last_null<<endl;
 
    int first_null; 
    for (int i = 9;i>0;i--)
    {
        if (massiv[i] == 0)
            first_null = i;break;
    }
 
    cout<<"Индекс первого нулевого элемента: "<<first_null<<endl;
 
    system ("pause");
    return 0;
}
Теперь Итог...Правильны мои суждения,если нет,поправьте разумеется,ну и советы по усовершенствованию,что можно было бы сделать лучше,спасибо откликнувшимся=)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru