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

Прокомментируйте код - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Сумма ряда. При запуске программы не выводится ответ http://www.cyberforum.ru/cpp-beginners/thread1177639.html
Подскажите где ошибка? При запуске программы не выводится ответ #include <iostream> #include <cstdlib> #include "math.h" #include "iomanip" /* run this program using the console pauser or add your own getch, system("pause") or input loop */ int main() {
C++ Дан целочисленный файл А. Записать в файл В все кратные трём числа из А Дан целочисленный файл А. Записать в файл В все кратные трём числа из А. Вот что я написал: #include <cstdlib> #include <iostream> #include <fstream> using namespace std; int main() { int dat, dat2; int n=100; http://www.cyberforum.ru/cpp-beginners/thread1177615.html
C++ Получить числа которые входят в массив по 1 разу
привет всем, пожалуйста помогите написать программу. дан одноименный массив, получить числа которые входят в массив по 1 разу.
Вычислить сумму ряда с точностью Е C++
привет всем, пожалуйста помогите написать программу. вычислить сумму ряда с точностью Е,общий член которого An=(3n+n!)/(3n)!
C++ Переполнение буфера . Что делать ? http://www.cyberforum.ru/cpp-beginners/thread1177585.html
#include "stdafx.h" #include <conio.h> #include <stdio.h> #include <string.h> int main() { char in; /* строка ввода */ char res1; /* строка результата 1 */
C++ Не работает программа #include "stdafx.h" #include <conio.h> #include <stdio.h> #include <string.h> int main() { char s; /* буфер строки */ char strFrom; /* строка ОТКУДА */ подробнее

Показать сообщение отдельно
Ilot
Модератор
Эксперт С++
1767 / 1142 / 223
Регистрация: 16.05.2013
Сообщений: 3,020
Записей в блоге: 5
Завершенные тесты: 1
16.05.2014, 09:25     Прокомментируйте код
Я позволил себе несколько переписать ваш код так как он немного слабоват. Хотя свой вариант я не тестил ошибок быть не должно:
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
//произведение элементов массива, расположенных между первым и вторым нулевыми элементами.
int multy(int arr[], int n)
{
    int mult = 1, null_1 = -1, null_2 = -1; //Задаем начальные значения для произведения и двух индексов выражающих диапазон
    //запускаем цикл по всем элементам массива
    for(int i = 0; i < n; ++i) {
        //Если нашли нулевой элемент и первый индекс не установлен устанавливаем первый индекс
        if ((arr[i] == 0) && (null_1 == -1)) 
            null_1 = i;
        //иначе если нашли нулевой элемент(первый индекс установлен) устанавливаем второй индекс и прекращаем поиск по массиву
        else if(arr[i] == 0) {
            null_2 = i;
            break;
        }
    }
    //Проверяем установлены ли оба индекса и не пустой ли найденный интервал
    if ((null_1 == -1) || (null_2 == -1) || (null_1 + 1 == null_2))
        std::cout << "Отсутствует требуемый диапазон или диапазон пуст!" << std::endl;
    //Ищем произведение элементов в диапазоне
    for(int i = null_1 + 1; i < null_2; ++i)
        mult *= arr[i];
    return mult;
}

Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
//Преобразовать массив таким образом, чтобы в первой его половине располагались элементы, стоявшие в нечетных позициях, а во второй половине — элементы, стоявшие в четных позициях.
void sort(int arr[], int n)
{
    //Переменная для хранения временных величин
    int temp;
    //Переменная необходимая для выбора последнего элемента. Он должен быть нечетным
    int index = (n % 2)? n - 2: n - 1;
    //Запускаем цикл по половине массива
    for (int i = 0; i < n / 2; i += 2) {
        //Меняем местами элементы с индексами i и index - i
        temp = arr[index - i];
        arr[index - i] = arr[i];
        arr[i] = temp;
    }    
}
 
Текущее время: 16:10. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru