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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.89
kasadi
0 / 0 / 0
Регистрация: 13.01.2014
Сообщений: 65
#1

Заполнение двухмерного массива диагоналями - C++

04.04.2014, 18:50. Просмотров 1554. Ответов 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
#include <iostream>
using namespace std;
 
int main()
{
    int x,y;
    cin >> x >> y;
    int mas[101][101];
    int i, j, k = 0;
 
    for (i = 0; i<x; i++)
    for (j = 0; j <= i+1; j++)
        mas[i][j] = k++;
 
    for (i = 1; i<x; i++)
    for (j = i; j<y; j++)
        mas[x - j + i - 1][j] = k++;
 
 
    for (i = 0; i<x; i++)
    {
        for (j = 0; j<y; j++)
        {
            cout.width(3);
            cout << mas[i][j];
        }
        cout << endl;
    }
    return 0;;
}
Добавлено через 47 секунд
Пример. ввод 4 6.
Вывод
0 1 3 6 10 14
2 4 7 11 15 18
5 8 12 16 19 21
9 13 17 20 22 23
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.04.2014, 18:50
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Заполнение двухмерного массива диагоналями (C++):

Заполнение двухмерного массива числами от 1 до 9 - C++
дан массив a надо по функции rand заполнить матриц числами от 1 до 9 и подсчитать сколько строк в нем есть в которых все числа от 1...

Подиагональное заполнение двухмерного массива - C++
Необходимо заполнить двухмерный массив M змейкой по диагоналям. Подскажите как это сделать, если кто-нибудь делал что-то подобное.

Заполнение двухмерного массива типа char символами цифр - C++
Приветствую всех! Разбираю одну задачу, в которой двухмерный символьный массив заполняется цифрами, представленными в качестве символов....

Работа с диагоналями массива - C++
Задание звучит так: У меня вопрос, как можно делать прогон именно конкретно по диагоналям, которые параллельны главной/побочной. 20...

Удаление двухмерного массива - C++
Доброго дня. Выделяем память под квадратную матрицу --&gt; заполняем --&gt; освобождаем занятую память . Следующий вопрос : при повторном...

Сортировка двухмерного массива - C++
Здравствуйте, Нужно применить сортировку к текстовой базе данных. Поля базы только string. Я записываю БД в двумерный массив string. ...

10
zss
Модератор
Эксперт С++
6403 / 5969 / 1945
Регистрация: 18.12.2011
Сообщений: 15,377
Завершенные тесты: 1
04.04.2014, 19:05 #2
А как должно было быть?
0
kasadi
0 / 0 / 0
Регистрация: 13.01.2014
Сообщений: 65
04.04.2014, 20:23  [ТС] #3
Ну внизу написал же как должно. С моим кодом массив берет значение из неоткуда, а составить правильно не получается =\

Добавлено через 1 час 4 минуты
Кажется надо в 17-ой строке формулу придумать. Блин идей нет Т_Т
0
IrineK
Заблокирован
05.04.2014, 13:04 #4
Квадратная уже получается:

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>
using std::cout;
using std::cin;
 
int main()
{   int N;
    cin >> N;
    int mas[101][101];
    int i, j, k, num = -1;
 
    for (k = 0; k<N; k++)   
        for (j = k; j>-1; j--)
            mas[k-j][j] = ++num;
 
    for (k = 0; k<N; k++)   
        for (j = N-1; j>k; j--)
            mas[N+k-j][j] = ++num;
 
    for (i = 0; i<N; i++)
    {   for (j = 0; j<N; j++)
        {   cout.width(5);
            cout << mas[i][j];
        }
        cout << "\n";
    }
 
    cin.sync();
    cin.get();
    return 0;
}
1
kasadi
0 / 0 / 0
Регистрация: 13.01.2014
Сообщений: 65
05.04.2014, 15:05  [ТС] #5
(а что делать с прямоугольным массивом?)
0
IrineK
Заблокирован
05.04.2014, 15:09 #6
Цитата Сообщение от kasadi Посмотреть сообщение
а что делать
Бум думать
0
kasadi
0 / 0 / 0
Регистрация: 13.01.2014
Сообщений: 65
05.04.2014, 15:22  [ТС] #7
Блин, мне уже через 20 мин сдавать работу, а я вообще не догнал=(
0
IrineK
05.04.2014, 15:27
  #8

Не по теме:

Цитата Сообщение от kasadi Посмотреть сообщение
а я вообще не догнал
Ну тогда можно уже и не думать.

0
011
9 / 9 / 0
Регистрация: 28.11.2013
Сообщений: 152
07.03.2015, 15:04 #9
IrineK, Вы написали для прямоугольного случая?

Может, кто-нибудь поделится идеями насчет алгоритма?
Подсказка к заданию была такая: "Стоит заметить, что массив заполняется в порядке увеличения суммы координат(от 1+1 до m+n)". Однако я ее не понял...
0
011
9 / 9 / 0
Регистрация: 28.11.2013
Сообщений: 152
11.03.2015, 17:32 #10
Ну так что, подскажет кто идею как заполнить прямоугольную nxm матрицу по побочным диагоналям?
0
011
9 / 9 / 0
Регистрация: 28.11.2013
Сообщений: 152
15.03.2015, 00:34 #11
Ну что, так никто и не захочет подсказать? :(

Вот пример:

 4 10

 0  1  3  6  10 14 18 22 26 30
 2  4  7  11 15 19 23 27 31 34
 5  8  12 16 20 24 28 32 35 37
 9  13 17 21 25 29 33 36 38 39
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.03.2015, 00:34
Привет! Вот еще темы с ответами:

Из двухмерного массива в одномерный - C++
Всем привет.Передо мной предстала задача перевести двухмерный массив в одномерный. Вот пример : 1 0 0 1 0 0 0 1 1 0 0 1 1 1 0 1...

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

Сортировка двухмерного массива - C++
Помогите!!!Нужно отсортировать двухмерный массив с использованием указателя. #include&lt;iostream&gt; #include&lt;stdlib.h&gt; #include&lt;time.h&gt; ...

Сортировка двухмерного массива по i и j - C++
Нужно написать алгоритм, который создавал бы массив чисел, при чем так, чтобы каждый последующий элемент (по i или по j) был меньше...


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

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

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