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

Массивы - C++

Восстановить пароль Регистрация
 
Dady
2 / 2 / 0
Регистрация: 20.03.2012
Сообщений: 53
20.06.2012, 13:00     Массивы #1
Помогите, друзья, не могу справиться с заданием. Нужно завести массив указателей на int* длины N и массив из int размера N*N и записать в M[i] указатель на i-й участок второго массива.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.06.2012, 13:00     Массивы
Посмотрите здесь:

Циклические массивы;Многомерные массивы!!!Срочно бы) C++
Одномерные массивы, Работа со строками, Многомерные массивы. C++
C++ Попадание точки. Массивы чисел. Массивы записей.
Целочисленная арифметика ,Одномерные массивы ,Двумерные массивы C++
Указатели и массивы. Индексация с помощью указателей. Передача массивов в функции. Динамические массивы (обработка матриц) C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4927 / 2670 / 243
Регистрация: 29.11.2010
Сообщений: 7,429
20.06.2012, 17:08     Массивы #2
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
#include <iostream>
#include <iomanip>
#include <cstddef>
 
int main()
{
    const std::size_t N = 7;
    int* M[N]; 
    // выделяем память 
    int** arr = new int*[N];
    for (std::size_t i=0; i < N; i++)
    {
        arr[i] = new int[N];
        for (std::size_t j=0; j < N; j++)
        { 
            arr[i][j] = N*(N - i) - j;
            std::cout<< std::setw(2)<< arr[i][j]<< " ";
        }
        std::cout<< std::endl; 
        M[i] = arr[i];
    }
    std::cout<< std::endl; 
    for (std::size_t i=0; i < N; i++)
        std::cout<< *(M[2] + i)<< " ";  
    // очищаем память 
    for (std::size_t i=0; i < N; i++)
        delete []arr[i];
    delete []arr;
    return 0;
}
http://liveworkspace.org/code/81ef9c...bea8b234a26590
zitxbit
Master C/C++
 Аватар для zitxbit
86 / 738 / 75
Регистрация: 11.04.2012
Сообщений: 971
20.06.2012, 17:09     Массивы #3
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
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <memory.h>
 
#define N 10
 
int main()
{
    int* X = new int[N];
    for (int i = 0; i < N; i++)
        X[i] = rand() % 9 + 1;
 
    int** M = new int*[N];
    memset((void*)M, 0x00, 4 * N);
 
    for (int q = 0; q < N; q++)
        M[q] = &X[q];
 
    for (int t1 = 0; t1 < N; t1++)
    {
        for (int t2 = 0; M[t1][t2] > 0; t2++)
            printf("%d ",M[t1][t2]);
        printf("\n");
    }
    
    _getch();
 
    return 0;
}
http://liveworkspace.org/code/457cf3...adc5fab75bbe06
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4927 / 2670 / 243
Регистрация: 29.11.2010
Сообщений: 7,429
20.06.2012, 17:15     Массивы #4
zitxbit, почему вы мешаете синтаксис С и С++ и не очищаете память?
Yandex
Объявления
20.06.2012, 17:15     Массивы
Ответ Создать тему
Опции темы

Текущее время: 19:35. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru