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

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

Войти
Регистрация
Восстановить пароль
 
Manifik
8 / 8 / 1
Регистрация: 13.05.2009
Сообщений: 31
#1

с++ (Двумерный массив) - C++

13.05.2009, 17:37. Просмотров 456. Ответов 1
Метки нет (Все метки)

1. Сформулировать квадратную матрицу порядка - n по заданному образцу.
|1 1 1 ... 1 1 1|
|0 1 1 ... 1 1 0|
|0 0 1 ... 1 0 0|
|. . . . . . .|
|. . . . . . .|
|. . . . . . .|
|0 1 1 ... 1 1 0|
|1 1 1 ... 1 1 1|


если n = 6, то получится:
|1 1 1 1 1 1|
|0 1 1 1 1 0|
|0 0 1 1 0 0|
|0 0 1 1 0 0|
|0 1 1 1 1 0|
|1 1 1 1 1 1|
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.05.2009, 17:37     с++ (Двумерный массив)
Посмотрите здесь:

Как можно вложить двумерный массив в двумерный? - C++
Нужно написать программу перемножения двух матриц размерностью МxМ, элементы которых, матрицы размерностью КxК... Подскажите (желательно с...

Дан двумерный массив размерностью Н. сформировать одномерный массив из элементов заданного массива расположенных над главной диагональю. - C++
помогите решить=)Дан двумерный массив размерностью Н. сформировать одномерный массив из элементов заданного массива расположенных над ...

Двумерный массив - C++
Задан двумерный динамический массив размером NxM.Определить количество размерных элементов матрицы (т.е повторяющиеся элементы считать один...

Двумерный массив - C++
Помогите перевести с Паскаля. Задание - . В квадратной матрице А определить наименьшие элементи каждой строки и найти их сумму. ...

Двумерный массив - C++
Дан двумерный массив, размерностью N*N. Упорядочить строки целочисленной матрицы по возрастанию. Помогите пожалуйста) Только попроще...

двумерный массив - C++
Найти минимальный элемент среди максимальных элементов строк матрицы. Вывести номер строки и столбца для такого элемента(Размерность...

Двумерный массив - C++
Каждое место в кинотеатре имеет свою цену. Создайте программу, в которой кинозал представлен в виде двумерного массива, элементы которого...

с++ двумерный массив - C++
уважаемые программисты прошу помочь с программой на двумерный массив т.к. я не в силах это сделать!!! нужно создать функцию к этой...

Двумерный массив - C++
Составить программу, в которой сформировать динамический двумерный массив В, состоящий из k строк и p столбцов, в отдельной функции...

двумерный массив - C++
в массиве все эл-ты, стоящие выше макс эл-та, заменить на мин. эл-т последней строки


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
insolent
826 / 347 / 15
Регистрация: 30.01.2009
Сообщений: 1,204
13.05.2009, 20:13     с++ (Двумерный массив) #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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
#include "stdafx.h"
#include <iostream>
using namespace std;
#include <algorithm> //для ф-ци fill() - заливки определённым символом
//----объявление ф-ций --------------------------------------------------
void out(bool *a,int n,int m);//вывод 
void vin(bool *a,int n,int m);//ввод
//-----------------------------------------------------------------------
int main(int argc, char* argv[])
{
    setlocale(0,"");//чтобы консоль понимала русский
    int n;
    bool *ar;
    cout << "Введите n: ";//порядок матрицы
    wcin >> n;
    _flushall();
    ar = new bool[n*n];//динамический массив
//-----вызов ф-ций--------------------------------------------------------
    vin(ar,n*n,n);
    out(ar,n*n,n);
    getchar();
    return 0;
}
//------описание ф-ций----------------------------------------------------
void out(bool *a,int n,int m){
    int x = m-1;
    for(int i = 0; i < n; i++){
        cout << a[i] << "  ";
        if( i == x){
            cout << endl;
            x +=m;
        }
    }
}
//-------------------------------------------------------------------------
void vin(bool *a,int n,int m){
    fill(a,a+n,1);//заливаем всю матрицю единицками
    int x = m;
    for(int i = 0, c = 1;i < n;i++){
        if(i < n/2){//затирание по убыванию(треугольник из единичек показывает вниз) единичек идет до половины матрицы
            if((i == x) && (c != m)){
                fill(a+x,a+x+c,0);//края
                fill(a+x+m-c,a+x+m,0);//заливает нуликами
                c++;
                x +=m;
            }
        }else {//затирание по возрастанию(треукольник из единичек показывает вверх) единичек идет с половины до конца
            if(i == x){
                c--;
                fill(a+x,a+x+c,0);//края
                fill(a+x+m-c,a+x+m,0);//заливаем нуликами
                x +=m;
        }
    }
    }
}
Ответ Создать тему
Опции темы

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