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

указатели и выделение памяти массивам - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Осуществить сдвиг элементов массива влево на K позиций http://www.cyberforum.ru/cpp-beginners/thread422977.html
Дан массив размера N и целое число K (1 ≤ K < N). Осуществить сдвиг элементов массива влево на K позиций (при этом AN перейдет в AN–K, AN–1 — в AN–K–1, …, AK+1 — в A1, а исходное значение K первых...
C++ цикл for помогите составить блок - схему for(i=0;i<=n;i++) for(j=0;j<=n+1;j++) //формирование a; {if(j<=n) a=(pow(B,i+j+1)-pow(A,i+j+1))/(cnst*(i+j+1)); else //формирование B; //поиск... http://www.cyberforum.ru/cpp-beginners/thread422976.html
C++ Вывести строку, содержащую слова, разделенные одним пробелом и расположенные в алфавитном порядке
Дана строка, состоящая из русских слов, набранных заглавными бук-вами и разделенных пробелами (одним или несколькими). Вывести строку, содержащую эти же слова, разделенные одним пробелом и...
C++ Задача с текстовыми файлами
Помогите, пожалуйста, с задачей: В текстовом файле t записаны буквы латинского алфавита и цифры. Занести в текстовый файл h из текстового файла t только латинские буквы.
C++ Где ошибка? http://www.cyberforum.ru/cpp-beginners/thread422959.html
Пишу всё по книге Джесса Либерти "Освой самостоятельно C++ за 21 день" В книге указана следующая програмка. int #include <iostream.h> int Area(int length, int width); int main() { int...
C++ Шифрование данных с использованием квадратной матрицы третьего порядка мне нужно создать программу для шифрования данных с использованием квадратной матрицы третьего порядка. у меня есть код программы. Программа должна получаться не консольная. не могли бы вы... подробнее

Показать сообщение отдельно
-=ЮрА=-
Заблокирован
Автор FAQ
05.01.2012, 22:10
Chif, вот реализация
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
#include <iostream>
#include <iomanip> //setw
#include <cstdlib> //ввёл лишь для переносимости кода и на CodeBlocks
using namespace std;
 
int main()
{
    int i,j,m,n;
    //Вводим размерность матрицы mat
    cout<<"Enter number of rows : ";cin>>m;
    cout<<"Enter number of cols : ";cin>>n;
 
    int ** mat = new int * [m];//память под указатели на строки матрицы
    double * b = new double[m];//Память под средние арифметические
    for(i = 0; i < m; i++)
    {
        mat[i] = new int[n];//память под эдементы строки
        for(j = 0,b[i] = 0; j < n; j++)
        {
            cout<<"mat["<<i + 1<<"]["<<j + 1<<"] = ";
            cin>>mat[i][j];
            b[i] += (*(*mat + i) + j);//Накпливаем сумму єлементов строки
        }
        b[i] /= 1.0*n;//Вот тут и рассчитываем средние арифметические
    }
    //Вывод исходной матрицы и вектора ср арифметических на экран
    cout<<"Input matrix\n";
    for(i = 0; i < m; i++)
    {
        for(j = 0; j < n; j++)
            cout<<setw(3)<<(*(*mat + i) + j)<<" ";
        cout<<endl;
    }
    cout<<"Vector b :\n";
    for(i = 0; i < m; i++)
        cout<<"b["<<i + 1<<"] = "
            <<b[i]
            <<endl;
    system("pause");
    return 0;
}
К сожалению cin>> ни в какую не хочет воспринимать (*(*mat + i) + j), поэтому ввод у меня всё же с прямой индаксацией cin>>mat[i][j], однако накопление суммы выполнено на базе указателей
b[i] += (*(*mat + i) + j);
Пока я вам не могу ответить почему ввод (*(*mat + i) + j); не поддерживается студией, хотя это тотже самый mat[i][j]
1
Миниатюры
указатели и выделение памяти массивам  
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru