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

Не могу разобраться как работает данная программа - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Не работает operator + http://www.cyberforum.ru/cpp-beginners/thread279959.html
пишу программку, а оператор+ не работает как надо, вместо суммы выдаёт всякий бред....может кто знает, что здесь не так? Matrix Matrix::operator+(const Matrix second) { if(m!=second.m || n!=second.n) { cerr<<"Raznyj razmer"<<endl; return Matrix(); } else {
C++ Шаблоны, "invalid iterator range" написать шаблонную функцию которая копирует значения с интервала template<typename T> void copy(T* dst, const T* begin, const T* end) { for(int i =0 ; (begin + i) < end ; i++) dst = begin; } template<typename T> void rand_arr( T* data, int size) { for (int i=0; i<size; i++ ) data = (T)((rand()%255) +1); http://www.cyberforum.ru/cpp-beginners/thread279948.html
Функция и массив C++
Всем привет, вот задание: "Создать функцию которая обнуляет в массиве значения между минимальным и максимальным" Вроде все компилируется, а когда вводишь данные выкидывает.. Спасибо заранее за ответы=) #include "stdafx.h" #include <iostream> #include <conio.h> using namespace std; const int n=10;
Indy C++
Здравствуйте. Помогите пожалуйста. Делал прогу и на форму добавил IdTCPClient1. Нажал на компилировку. Вышла ошибка: Link terminated. Что делать помогите?
C++ Преобразовать массив http://www.cyberforum.ru/cpp-beginners/thread279912.html
Помогите преобразовать массив, а то чтот вообще не пойму как: Дано массив a. В массиве расположить сначала все элементы, отличающиеся от максимального не более чем на 25%, а затем - все остальные исключив из массива элементы, отличающиеся от максимального более чем на 70%.
C++ Найти дружественные числа, принадлежащие отрезку [1; 10000] Помогите, сегодня сдавать надо. Дружественными числами являются два натуральных числа, таких, что каждое из них равно сумме всех натуральных делителей другого, исключая само это другое число. Например: 220 и 284 являются дружественными числами, поскольку сумма делителей числа 220 – это 1 + 2 + 4 + 5 + 10 + 11 + 20 + 22 + 44 + 55 + 110 = 284, а сумма делителей числа 284 – это 1 + 2 + 4 + 71 +... подробнее

Показать сообщение отдельно
.Malek.
5 / 5 / 0
Регистрация: 20.03.2011
Сообщений: 180

Не могу разобраться как работает данная программа - C++

20.04.2011, 11:49. Просмотров 612. Ответов 10
Метки (Все метки)

Помогите пожалуйста разобраться как работает данная программа ниже дано задание и готовый листинг. Я запутался тут с этими указателями.
Код
Реализовать программу демонстрирующую  решение поставленной задачи: В прямоугольной матрице определить элемент, который по модулю наименее отличается от среднего арифметического  всех элементов матрицы. 
В программе необходимо реализовать следующее:
ввод размеров многомерных массивов;
формирование динамических массивов заданных размеров;
заполнение массивов значениями;
печать в наглядном виде массива - результата;
удаление динамических массивов;
Код
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <iostream.h>
#include <math.h>
void main()
{
        clrscr();
        cout<<"Enter n:"<<endl;
        int n;
        cin>>n;
        cout<<"Enter m:"<<endl;
        int m;
        cin>>m;

        int** M=new int*[n];
        int i;
        for(i=0; i<n; i++)
        {
                M[i]=new int[m];
        }

        int j;
        randomize();
        for(i=0; i<n; i++)
        {
                for(j=0; j<m; j++)
                {
                        M[i][j]=random(100)-50;
                        cout<<M[i][j]<<" ";
                }
                cout<<endl;
        }

        double Average=0;
        for(i=0; i<n; i++)
        {
                for(j=0; j<m; j++)
                {
                        Average+=M[i][j];
                }
        }
        Average/=(double)(n*m);
        cout<<"Average: "<<Average<<endl;
        int iA=0;
        int jA=0;
        int Nearest=M[0][0];
        for(i=0; i<n; i++)
        {
                for(j=0; j<m; j++)
                {
                        if( abs(abs(Nearest)-abs(Average)) > abs(abs(M[i][j]) - abs(Average)) )
                        {
                                Nearest=M[i][j];
                                iA=i;
                                jA=j;
                        }
                }
        }
        cout<<"The nearest number is: "<<Nearest<<" at ("<<iA<<"; "<<jA<<")."<<endl;
        
        getch();
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru