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

указатель - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Шифровка и дешифровка файлов http://www.cyberforum.ru/cpp-beginners/thread761465.html
Код готовый, нужно только сократить) а то что- то много получается... препод ругается) Даны текстовые файлы. Реализовать функции шифровки и дешифровки методом циклического сдвига вправо на...
C++ Строки в структурах Добрый день, объясните пожалуйста мне - начинающему, как в структуре можно обратиться к строке. Например структура: struct Record { bool aktiv; int check_period; bool port; char Program_name;... http://www.cyberforum.ru/cpp-beginners/thread761444.html
Вычислить значение функции a = b ^2 sin (b), причем b изменяется от 0,9 до 1,7 с шагом 0,2. Найти среднее значение разности между элементами C++
Доброго времени суток ! Помогите решить задачу ! Нужно написать в цикле с постусловием следующее : Вычислить значение функции a=b2sin(b), причем b изменяется от 0,9 до 1,7 с шагом 0,2. Найти...
ошибки "Complex" не определяет этот оператор или преобразование к типу приемлемо к встроенному оператору C++
заголовочный файл #include <iostream> #include <iostream> #include <conio.h> #include <math.h> using namespace std;
C++ Бинарные файлы http://www.cyberforum.ru/cpp-beginners/thread761421.html
Товарищи! такая задача: нужно в бинарный файл передавать данные разных типов (к примеру int, char, long double итд) но не используя структуры или классы, то есть на прямую кидать туда. Как сделать,...
C++ Вычислить количество элементов массива, равных 0 В массиве, состоящем из n вещественных чисел, необходимо вычислить:- количество элементов массива, равных 0;- сумму элементов массива, расположенных после минимального элемента. подробнее

Показать сообщение отдельно
TrueBit
95 / 95 / 12
Регистрация: 19.11.2012
Сообщений: 195
14.01.2013, 17:30
При выделении памяти оператором new, можно рассматривать матрицу как одномерный массив, в котором строки матрици с определенным шагом идут, как например одномерный: 1 2 3 4 5 6 7 8 9, можно рассматривать как матрицу 3*3, при этом чтобы обратиться например к элементу a22(центральный) нужно умножить номер(нумерацию считать с нуля, еще нужно учитывать что в программировании нумерация массивов с нуля идет) строки(i) на количество эл-тов строки(так мы найдем нужную нам строку) и добавить положение в строке(j).
1*3+2=5й эл-т.
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
#include <iostream>
#include <conio.h>
using namespace std;
 
int main() {
    setlocale(LC_ALL,"rus");
    int * a; // указатель под массив a(указатель - это переменная содержащая адрес на участок памяти)
    int * b; // указатель под массив б
    int i, j, m,n; // просто целочисленные переменные
    cout << "Ввудите mxn\n"; // печать текста
    cin>>m>>n; // ввод параметров массива
    a=new int[m*n]; // выделяем оператором new память под m*n элементов, и адрес этого массива помещаем в указатель a
    b=new int[n];   // аналогично
    // теперь в a и b адреса наших массивов, под которые выделилась память.
    for (i=0;i<m;i++) // заполняем массив - цикл по строкам
        for (j=0;j<n;j++) // цикл по столбцам
            cin>>a[i*n+j]; // вводим элемент на i-й на j-m месте
    cout<<"Матриаца A:\n"; // печать текста
    for (i=0; i<m; i++) { // цикл по стокам
        for (j=0; j<n; j++) // цикл по стобцам
            cout<<a[i*n+j] << " "; // печатаем элемент на i-й на j-m месте
        cout<<"\n"; // переходим на новую строку
    }
    for (j=0;j<n; j++) { // цикл по столбцам 
        b[j]=0;          // обнуляем первый эл-т массива b перед подсчетом положительных эл-тов столбца
        for( i=0; i<m; i++) //цикл по строкам этого столбца
            if (a[i*n+j]>0) // если эл-т положителен
                b[j]+=a[i*n+j]; // добавляем к общей сумме в b[j] - соответствующей j-му столбцу
    }
    for(j=0; j<n; j++) // печатаем что получилось(т.е. суммы положительных эл-тов столбцов из массива b[j])
        cout<<" "<<b[j];
 
    getchar(); // задержка перед завершением программы
    getchar(); // задержка перед завершением программы
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru