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

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

Войти
Регистрация
Восстановить пароль
 
sergeu90
27 / 28 / 3
Регистрация: 17.10.2009
Сообщений: 739
#1

многомерный массив - C++

22.02.2012, 20:36. Просмотров 947. Ответов 12
Метки нет (Все метки)

помогите сделать задачу через указатели

Сформировать массив типа char размером в 7х5х8 элементов. Проинициализировать его случайными символами от A до Z. Вывести строки, в которых встретилась встретилась буква 'W'. (Строки - это второй индекс справа, их всего 7*5).
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.02.2012, 20:36
Здравствуйте! Я подобрал для вас темы с ответами на вопрос многомерный массив (C++):

Многомерный массив, Си!!! - C++
Дан массив целых чисел a. Изменить индексацию массива на a

Многомерный массив - C++
Пожалуйста помогите написать программу. Выделить память под многомерный массив, заполнить его произвольным образом, передать...

Многомерный массив - C++
Вот надо решить задачу. Первую я сделал. Помогите пожалуйста со второй и если можно то без замудреного кода ) ...

Многомерный массив - C++
Найти максимальный элемент в массиве. Размеры массива задайте сами. Сделайте три варианта программы. В первом элементы массива...

многомерный массив - C++
помогите пожалуйста написать программу: Дана целочисленная прямоугольная матрица. Определить: 1) количество отрицательных элементов...

Многомерный массив - C++
найти и напечатать значения и индексы минимального элемента в каждом рядке матрицы W(N,M)

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
soon
2540 / 1305 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
22.02.2012, 20:40 #2
Наработки? Вопросы?
1
sergeu90
27 / 28 / 3
Регистрация: 17.10.2009
Сообщений: 739
22.02.2012, 20:44  [ТС] #3
не могу понять что это вывести строки в думерном я понимаю что это а в 3-мерном вообще не могу представить и как сделать с чего начать
0
soon
2540 / 1305 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
22.02.2012, 20:49 #4
Цитата Сообщение от sergeu90 Посмотреть сообщение
с чего начать
С #include

Цитата Сообщение от sergeu90 Посмотреть сообщение
в думерном я понимаю что это
Цитата Сообщение от sergeu90 Посмотреть сообщение
а в 3-мерном вообще не могу представить и как сделать
Ничем не отличается
0
sergeu90
27 / 28 / 3
Регистрация: 17.10.2009
Сообщений: 739
22.02.2012, 20:58  [ТС] #5
и где тут колличество строк?и как его вообще вывести на экран как это будет выглядеть

Добавлено через 7 минут
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
#include <iostream>
#include  <math.h>
#include <iomanip>
using namespace std;
void  main(void)
{
 
    setlocale(LC_ALL,"Russian");
    
    char s[7][5][8];
 
    for(int m=0;m<7;m++)
    for(int j=0;j<5;j++)
    for(int k=0;k<8;k++)
s[m][j][k]=rand() % 26 + 65;
    
    //cout<<"Двухмерный массив"<<endl;
    for(int m=0;m<7;m++)
    {
        for(int j=0;j<5;j++)
        {
            for(int k=0;k<8;k++)
            {
    cout<<setw(3)<<s[m][j][k];
            }
            cout<<endl;
        }
        cout<<endl;
    }
    system("PAUSE");
 
}
вот набрасал не понимаю так я вывожу или не так? и вообще заполняю его не могу понять
0
soon
2540 / 1305 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
22.02.2012, 21:04 #6
sergeu90, после окончания второго цикла я бы выводил какой-либо разделитель, ибо в противном случае трехмерный массив сольется в цельную портянку. А так хоть будет по слоям разбит.
0
sergeu90
27 / 28 / 3
Регистрация: 17.10.2009
Сообщений: 739
22.02.2012, 21:05  [ТС] #7
а вопрос как найти букву W в строке и потом ее всю вывести?
0
soon
2540 / 1305 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
22.02.2012, 21:07 #8
Цитата Сообщение от sergeu90 Посмотреть сообщение
а вопрос как найти букву W в строке и потом ее всю вывести?
Тройным вложенным циклом. Если символ найден, то выводите всю строку и прерываете внутренний цикл.
0
sergeu90
27 / 28 / 3
Регистрация: 17.10.2009
Сообщений: 739
22.02.2012, 21:08  [ТС] #9
вот и у меня проблема как вывести сразу всю строку?можете помочь с кодом дописать?
0
R136a1
142 / 111 / 15
Регистрация: 14.04.2011
Сообщений: 261
22.02.2012, 21:17 #10
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
42
43
44
45
46
#include <iostream>
#include <iomanip>
#include <cstdlib>
#include <ctime>
 
int  main()
{
        char s[7][5][8];
 
    std::cout << "Исходный массив:" << std::endl;
 
        srand(time(NULL));
 
        for(int m=0;m<7;m++)
    {
            for(int j=0;j<5;j++)
        {
                for(int k=0;k<8;k++)
            {
                s[m][j][k]=rand() % 26 + 65;
                std::cout << std::setw(3) << s[m][j][k];
            }
 
            std::cout << std::endl;
        }
 
        std::cout << std::endl;
    }
        std::cout <<"Строки с W: " << std::endl;
 
        for(int m=0;m<7;m++)
                for(int j=0;j<5;j++)
                        for(int k=0;k<8;k++)
                    if(s[m][j][k] == 'W')
                {
                                for(int i = 0; i < 8; i++)
                        std::cout << std::setw(3)
                              << s[m][j][i];
 
                    std::cout << std::endl;
 
                    k = 8;
                }
 
    return 0;
}
0
sergeu90
27 / 28 / 3
Регистрация: 17.10.2009
Сообщений: 739
22.02.2012, 21:20  [ТС] #11
а как через указатель сделать?
0
R136a1
142 / 111 / 15
Регистрация: 14.04.2011
Сообщений: 261
22.02.2012, 21:32 #12
Цитата Сообщение от sergeu90 Посмотреть сообщение
а как через указатель сделать?
C++
1
2
3
4
5
6
7
8
9
10
                                if(*(*(*(s+m)+j)+k) == 'W')
                                {
                                        for(int i = 0; i < 8; i++)
                                                std::cout << std::setw(3)
                                                          << *(*(*(s+m)+j)+i);
 
                                        std::cout << std::endl;
 
                                        k = 8;
                                }
0
sergeu90
27 / 28 / 3
Регистрация: 17.10.2009
Сообщений: 739
23.02.2012, 02:04  [ТС] #13
а код можно весь через указатель показать а то че то я не могу дописать
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.02.2012, 02:04
Привет! Вот еще темы с ответами:

Многомерный массив. С++ - C++
Здравствуйте нужно решить две задачки. а) Найдите сумму всех элементов матрицы размером 6х6, состоящей из элементов вещественного типа...

Многомерный массив - C++
Имеется вот такое задание: Создать программу, которая реализует журнал с оценками в виде двумерного массива (студенты - строки, оценки за...

Многомерный динамический массив - C++
В общем так: Массив, размерность которого неизвестна и зависит от чего-либо. К примеру у нас есть 3-мерный массив a (int a), при...

Указатель на многомерный массив - C++
Можно ли создать и передать указатель одной строкой или как-то попроще? int main() { int m; int *pa = m; int** a = ...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
23.02.2012, 02:04
Ответ Создать тему
Опции темы

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