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

C++ Одномерные массивы - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ В матрице целых чисел заменить все отрицательные элементы нулями.Подсчитать количество замен http://www.cyberforum.ru/cpp-beginners/thread1015464.html
В матрице целых чисел заменить все отрицательные элементы нулями.Подсчитать количество замен.Вывести конечную матрицу #include <conio.h> #include <iostream> using namespace std; int **vvod(int **m, int s, int r) { for( int i=0; i<s; i++) {
C++ В матрице целых чисел заменить все отрицательные элементы нулями В матрице целых чисел заменить все отрицательные элементы нулями.Подсчитать количество замен.Вывести конечную матрицу. Что не так? Отредактируйте пожалуйста. #include <conio.h> #include <iostream> using namespace std; int **vvod(int **m, int s, int r) { http://www.cyberforum.ru/cpp-beginners/thread1015460.html
C++ Логическая операция ИЛИ
Добрый день, хотелось бы узнать как ввести логическое ИЛИ при наборе кода, а то ведь НЕ и И вводится довольно легко Shift + 1 и Shift + 7 + 7 что бы получить ! и &&,, а вот ввести || не получается и ключевое слово OR не распознает компилятор, что делать?
Проконсультируйте пожалуйста C++
Стипендия. Сессия включает в себя экзамены по трём дисциплинам: «Алгебра», «Математический анализ» и «Языки и методы программирования». Студентам, не сдавшим хотя бы один экзамен, стипендия не выплачивается. Студентам, сдавшим все экзамены не ниже, чем на 3, начисляется базовая стипендия из расчета 250 рублей за каждый балл. Хорошисты (успевающие ...
C++ Не правильно работает! http://www.cyberforum.ru/cpp-beginners/thread1015399.html
#include "stdafx.h" #include <iostream> #include <math.h> #include <stdio.h> using namespace std; double func1(double,double,double,double,double,double); double func2(double &,double &,double &,double &,double &,double &); double func3(double *,double *,double *,double *,double *,double *);
C++ Преобразование массива одного типа в другой Есть массив int-овых чисел. Нужно его перевести в массив double. Поэлементно с помощью цикла очень долго, не подходит. Может быть есть какая-нибудь функция или библиотека, чтобы быстро преобразовать тип? подробнее

Показать сообщение отдельно
Pokemon_93
9 / 5 / 1
Регистрация: 19.01.2013
Сообщений: 74
22.11.2013, 18:08     C++ Одномерные массивы
Yuri_935,
по моему так правильнее и красивее=), в вашем коде как минимум утечка памяти после создания динамического массива. а так же код тяжел для чтения.=)
плюс привидение типов, а это не рекомендуется

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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
#include "stdafx.h"
#include "iostream"
#include "vld.h"
 
using namespace std;
 
void SearchMaxAndMinElements(int * arr,int sizeOfArray, int & maxElementPos, int & minElementPos)
{
    int maxElement=0;
    int minElement=0;
    for(int i = 0; i< sizeOfArray; i++)
    {
        if (arr[i] > maxElement)
        {
            maxElement = arr[i];
            maxElementPos = i+1;
        }
        if (arr[i] < minElement)
        {
            minElement = arr[i];
            minElementPos = i+1;
        }
    }
 
}
int SumOfTheNegativeValues(int * arr, int sizeOfArray)
{
    int sum=0;
    for(int i=0;i<sizeOfArray;i++)
    {
        if(arr[i]<0)
        {
            sum+=arr[i];
        }
    }
    return sum;
}
 
int MultiplyElementsFromMinToMax(int * arr,int sizeOfArray, int & maxElementPos, int & minElementPos)
{
    int result;
    if (minElementPos < maxElementPos)
    {
        result=arr[minElementPos];
        for(int i = minElementPos+1; i <= maxElementPos-1;i++)
        {
            result = result * arr[i];
        }
    }
    if (maxElementPos < minElementPos)
    {
        result=arr[maxElementPos];
        for(int i = maxElementPos+1; i <= minElementPos-1;i++)
        {
            result = result * arr[i];
        }
    }
    return result;
}
 
 
void main()
{
    int sizeOfArray;
    int maxElementPos=0;
    int minElementPos=0;
    int negVal;
    int multiplyResult;
    cout << "enter size of array: ";
    cin >> sizeOfArray;
    int *arr = new int[sizeOfArray];
 
    for (int i = 0; i<sizeOfArray; i++)
        cin >> arr[i];
 
    SearchMaxAndMinElements(arr, sizeOfArray, maxElementPos, minElementPos); 
    negVal = SumOfTheNegativeValues(arr, sizeOfArray);
    multiplyResult = MultiplyElementsFromMinToMax(arr, sizeOfArray, maxElementPos, minElementPos);
    
    cout << "Sum Of The Negative Values " << negVal << "\n";
    cout << "multiply element from min to max " << multiplyResult << "\n";
 
    delete[] arr;
}
P.S. если у вас не установлен visual leak detector, строку #include "vld.h" закоментить или удалить
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru