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

Прокомментировать код - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Описать класс «матрица». Добавить метод, вычисляющий определитель матрицы http://www.cyberforum.ru/cpp-beginners/thread1123667.html
Описать класс «матрица». Добавить метод, вычисляющий определитель матрицы, чтение из файла и запись в файл. Помогите кто может, хотя бы описать класс и чтение, запись в файл, определитель сам сделаю.
C++ Сортировка массива структур через сортировку массива указателей Ошибка возникает в функции void sort(student **ppStud, int k, char ch). Кто видит ошибку - помогите, пожалуйста. Код программы: #include "stdafx.h" #include <iostream> #include <string.h> #include <time.h> #include <memory.h> #include <memory> http://www.cyberforum.ru/cpp-beginners/thread1123663.html
Построить класс для работы с датой C++
Добрый день товарищи, очень нужна помощь, буду благодарен каждому ответу. Задание: Постpоить класс для работы с датой. Класс должен включать следующие поля: число, месяц, год, день недели. Класс должен обеспечивать пpостейшие методы для pаботы с полями класса: изменение значе-ний, вывод значений.
C++ Вывод дробной части
Всем привет. Проблема собственно такая, не получается вывести дробную часть стороны треугольника, т.е 4,5(выводит только 4) уже не выводит, менял тип переменных, тип вычисления на float, высчитывает но почему-то длина стороны получается еще меньше чем в первом случае(при выводе целой части). Помогите, в чем проблема? вот код: #include <iostream.h> #include <math.h> #include <stdio.h> int...
C++ Сформировать вектор D (n) из произведений абсолютных ненулевых значений соответствующих строк матрицы http://www.cyberforum.ru/cpp-beginners/thread1123609.html
Задана матрица целых чисел A(n×n). Все числа-палиндромы, расположенные на главной диагонали, заменить суммой цифр модуля минимального элемента соответствующего столбца матрицы. Сформировать вектор D(n) из произведений абсолютных ненулевых значений соответствующих строк матрицы.
C++ Как сделать голосовой поток вывода? Ну то есть скармливаешь ему строку оператором <<, а он её читает через динамики. Как это сделать? подробнее

Показать сообщение отдельно
dimcoder
Полярный
 Аватар для dimcoder
449 / 422 / 66
Регистрация: 11.09.2011
Сообщений: 1,108
19.03.2014, 11:07     Прокомментировать код
Цитата Сообщение от alucard115 Посмотреть сообщение
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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
#include <iostream>
#include <cstdlib>
#include <cmath>
#include <locale>      //Что бы язык был русский
 
using namespace std;
 
double minElem(double *arr, int n);       //прототипы функций для нахождения минимального элемента
double summElem(double *arr, int n);      //и суммы все элементов массива
 
int main() {
    int n = 0;
    
    setlocale(0, "rus");
    srand((unsigned)time(NULL));           //это для генерации случайных чисел - что бы одинаковые не выводило
 
    cout << "Введите количество элементов: ";
    cin >> n;                                //ввод кол-ва элеменов массива
 
    double *arr = new double [n];                //Динамически выделяем памяти под массив из n элементов
    
    for(int i = 0; i < n; i++) {                    //Заполняем массив случайными числами
         arr[i]=rand() % 20 - 10;                   //от -10 до 10
        cout << " [" << i << "] = ";                //и выводим на экран
        cout << arr[i];
    }
    cout << "\n Минимальный элемент: " << minElem(arr, n) << endl; 
    cout << "\n Сумма элементов: " << summElem(arr, n) << endl;
    delete [] arr;         //Очищаем память выделенную под массив
    
    system("PAUSE");
    return 0;
}
 
double minElem(double *arr, int n) 
{
    double min = arr[0];          //Допустим, что первый элемент - минимальный
 
    for(int i = 1; i < n; i++) {   //Пробегаемся по массиву в поисках меньшего элемента
        if(arr[i] < min)           //Если нашли элемент меньше
            min = arr[i];          //То записываем его как меньший
    }
    return min;                    //Возвращаем минимальное значение массива
}
 
double summElem(double *arr, int n)
{
    double summ = 0.0;    
    bool flag = false;  // Флаг
    int begin = 0;
    int end = 0;    
 
    for(int i = 0; i < n; i++) {    //Пробегаемся по массиву
        if(arr[i] < 0 && !flag) {   //Если текущий элемент отрицателен и wtf is flag?
            begin = i;
            flag = true;
        }
        else if(arr[i] < 0 && flag) {
            end = i;
            break;
        }
    }
    
    for(int i = begin + 1; i < end; i++) {
        summ += arr[i];
    }
    return summ;
}
А есть условие задачи? Последняя функция как то непонятно что вычисляет пока. Там не просто сумма всех элементов.
 
Текущее время: 10:00. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru