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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
VladSharikov
22 / 22 / 1
Регистрация: 02.12.2010
Сообщений: 824
#1

Пару вопросов по двумерным массивам - C++

08.12.2010, 20:15. Просмотров 551. Ответов 9
Метки нет (Все метки)

Преподователь задал вопросы которые поставили меня в ступор.
1. можно ли просмотреть все элементы матрицы в одном цикле?как?
2. что представляет собой имя матрицы?
3. как получить адрес строки матрицы??


мои предположения :

1. без понятия
2. символы (буквы или цифры) от 3х до 15ти(как обычные переменные). просто именно указаний на счет имени матрицы я не слышал.
3. &имя_матрицы[line][0] ?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.12.2010, 20:15
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Пару вопросов по двумерным массивам (C++):

сортировка по двумерным массивам - C++
Всем привет!!Я новичок !Можете выслать примеры по пузырьковой и выборочной сортировке двумерных массивов?

Вывод по двумерным массивам - C++
Помогите с Выводом к курсовой по Двухмерному массиву в С++

Задача по двумерным массивам - C++
Помогите пожалуйста решить задачу в С++ "Дан двумерный массив размером m*n, заполненный случайными числами. Определить, есть ли в данном...

Задача по двумерным массивам - C++
Всем привет :) Помогите, пожалуйста, нубу в C++, задача такая: Построить матрицу В(5,5), каждый элемент которой находится по формуле:...

Задача по двумерным массивам и функциям - C++
Не получается это сделать: Заполнить квадратную матрицу случайными числами(функция). Найти среднее арифметическое первого столба(функция)...

Задание по двумерным массивам(доработка) - C++
Ребят,чем можно заменить "указатель на указатель",а то меня спрашивают,а я ваще не в курсе!Или можно как-то код исправить,чтоб вообще...

9
Kastaneda
Jesus loves me
Эксперт С++
4697 / 2901 / 238
Регистрация: 12.12.2009
Сообщений: 7,389
Записей в блоге: 2
Завершенные тесты: 1
08.12.2010, 20:19 #2
1) можно, но не нужно ибо это быдлокод)
пример:
C++
1
2
3
int mas[10][10];
for(int i=0;i<100;i++)
   cout<<mas[0][i];
2)адрес двумерного массива
3)у вас правильно, но можно так - mas[line]
0
VladSharikov
22 / 22 / 1
Регистрация: 02.12.2010
Сообщений: 824
08.12.2010, 20:26  [ТС] #3
1. этим кодом выведится весь массив? одним циклом.
2. всмысле адрес двумерного массива? имя это не адрес. вы что то путаете.
мне нужно знать "что такое имя двумерного массива?"
я что неправильно думал? см. первый пост.
3. спасибо. мой вариант подоходит и можно еще &matr[line] просто?
0
AnonymC
1173 / 455 / 28
Регистрация: 23.06.2009
Сообщений: 6,342
Завершенные тесты: 1
08.12.2010, 20:38 #4
Цитата Сообщение от VladSharikov Посмотреть сообщение
1. можно ли просмотреть все элементы матрицы в одном цикле?как?
На сколкьо представляю то нет...Один цикл для того чтобы выводить на экран столбцы,а другой для линий.
Цитата Сообщение от VladSharikov Посмотреть сообщение
что представляет собой имя матрицы?
как понять вопрос?...имя это имя...может быть чем угодно,только не начиная цифрами.
Например _123(обратите внимание что не начинается цифрами а нижним дефисом) + теми символами(именами) которые "заняты"...То есть "+", "for" и так далее.

Цитата Сообщение от VladSharikov Посмотреть сообщение
как получить адрес строки матрицы??

Цитата Сообщение от VladSharikov Посмотреть сообщение
спасибо. мой вариант подоходит и можно еще &matr[line] просто?
Если массив двумерный,то объязательно надо написать так сказать 2 адреса,то есть
mas[0][4]-Берет пятый элемент первой линии. Или же _123[i][j] это все тоже самое

Добавлено через 2 минуты
Цитата Сообщение от Kastaneda Посмотреть сообщение
int mas[10][10]; for(int i=0;i<100;i++) cout<<mas[0][i];
?как понять ?О_о
0
Kastaneda
Jesus loves me
Эксперт С++
4697 / 2901 / 238
Регистрация: 12.12.2009
Сообщений: 7,389
Записей в блоге: 2
Завершенные тесты: 1
08.12.2010, 20:38 #5
Цитата Сообщение от VladSharikov Посмотреть сообщение
1. этим кодом выведится весь массив? одним циклом.
ДА!
2. всмысле адрес двумерного массива? имя это не адрес. вы что то путаете.
Имя массива есть его адрес!!!
0
VladSharikov
22 / 22 / 1
Регистрация: 02.12.2010
Сообщений: 824
08.12.2010, 20:42  [ТС] #6
В чем проблема вывести адрес строк так?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include "stdafx.h"
 
int main(void) {
    int matr[10][10];
    //ввод массива рандомными числами
    srand(unsigned(time(NULL)));
    for(int line = 0; line < 10; line++) {
        for(int column  = 0; column < 10; column ++) {
            matr[i][j] = rand() % 100 - 50;
        }
    }
        // вывод адресов массива
    for(int line = 0; line < 10; line++) {
        
            printf(" STR %d:  %p", i, &matr[line][0]);
            printf("\n");
 
    }
 
 
 
    return 0;
}
Добавлено через 1 минуту
Цитата Сообщение от Kastaneda Посмотреть сообщение
Имя массива есть его адрес!!!
Стоп. Я правда не врубаюсь
двумерный массив
matr[i][j]
имя matr.
какой адрес блин?

вы имеете ввиду что имя матрицы это указатель ? или что?
0
Kastaneda
Jesus loves me
Эксперт С++
4697 / 2901 / 238
Регистрация: 12.12.2009
Сообщений: 7,389
Записей в блоге: 2
Завершенные тесты: 1
08.12.2010, 20:44 #7
Цитата Сообщение от ^Tecktonik_KiLLeR Посмотреть сообщение
Если массив двумерный,то объязательно надо написать так сказать 2 адреса,то есть
mas[0][4]-Берет пятый элемент первой линии.
Для обращения к элементу массива да, но для обращения к адресу строки можно использовать только один индекс.


Цитата Сообщение от ^Tecktonik_KiLLeR Посмотреть сообщение
C++
1
int mas[10][10]; for(int i=0;i<100;i++) cout<<mas[0][i];
?как понять ?
Скомпилируйте, посмотрите. Я же говорю - можно, но не нужно)))

Добавлено через 1 минуту
Цитата Сообщение от VladSharikov Посмотреть сообщение
вы имеете ввиду что имя матрицы это указатель ? или что?
а указатель по вашему - это вывеска с надписью "массив там ->" )))
0
VladSharikov
22 / 22 / 1
Регистрация: 02.12.2010
Сообщений: 824
08.12.2010, 20:45  [ТС] #8
Нет нет можно это да. Вопрос есть вопрос и нужно на него ответить. Я предполагал что нужно так, но это было где то далеко
А так спасибо за ответ на первый вопрос.
Осталось уточнить на счет второго. Имени массива.

Добавлено через 50 секунд
Вы конечно извините )) Я вас не пойму )

Имя массива - это указатель на адрес начала массива.
Так?
0
Kastaneda
Jesus loves me
Эксперт С++
4697 / 2901 / 238
Регистрация: 12.12.2009
Сообщений: 7,389
Записей в блоге: 2
Завершенные тесты: 1
08.12.2010, 20:49 #9
Цитата Сообщение от VladSharikov Посмотреть сообщение
Имя массива - это указатель на адрес начала массива.
Так?
Да, это так. А вам, что преподователь этого не говорил?

Добавлено через 1 минуту
а, вы меня с толку сбили)) Указатель - это и есть адрес, т.е. можно сказать, что имя массива - это указатель на массив (но не на адрес массива)
0
VladSharikov
22 / 22 / 1
Регистрация: 02.12.2010
Сообщений: 824
08.12.2010, 20:51  [ТС] #10
спасибо. забыл про это.
да говорили что то такое
0
08.12.2010, 20:51
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.12.2010, 20:51
Привет! Вот еще темы с ответами:

Три задачки по двумерным массивам - C++
Дана матрица В(4;4): 1) Найти произведение положительных элементов среди элементов расположенных выше побочной диагонали матрицы В. (!) Я...

Ifstream и пару вопросов - C++
Пример: я считал файл ifstream in(&quot;file.txt&quot;)б while(in) { in &gt;&gt; k; cout &lt;&lt; k; } после цикла указатель стоит в...

Цикл while, пару несложных вопросов - C++
Есть у меня две блок-схемы по ним надо написать программу в первой у меня идёт цикл while, &quot;если да&quot; то выполняется два оператора...

Пару вопросов насчёт ввода массива. - C++
в общем так: действия над матрицами задаю константы, например N=10, M=10, K=10, L=10 надо ввести два массива произвольного размера...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.