Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.06.2009, 20:52   #1
O.G.O
 
Регистрация: 10.06.2009
Сообщений: 3
По умолчанию Заполнить матрицу ЛП, от левого верхнего угла по диагонали: вправо - вверх.

Помогите пожалуйста решить следующую задачу:
Заполнить матрицу линейной последовательностью(1-81), от левого верхнего угла по диагонали: вправо - вверх, в соответствии с рисунком:
O.G.O вне форума Ответить с цитированием
Старый 10.06.2009, 20:57   #2
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Чем помочь? Решить?

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

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 10.06.2009, 21:08   #3
O.G.O
 
Регистрация: 10.06.2009
Сообщений: 3
По умолчанию

Нужна идея решения, начало есть
Код:
#include <conio.h>
#include <stdio.h>
#define S 9
int Ar[S][S];  /* Массив */
int main(void) {
clrscr();
short i,j; /*Индексы*/
short k; /*Переменная, которой будет присваиватся текущее значение массива*/
k=1;
for(i=0; i<S; i++) /*Перебор строк*/ 
{
for(j=0; j<S; j++) /*Перебор столбцов*/
Ar[i][j]=k++;
}
нужно что-то замутить с индексами, нужна идея

Модератор: тег CODE

Последний раз редактировалось O.G.O; 10.06.2009 в 21:15.
O.G.O вне форума Ответить с цитированием
Старый 10.06.2009, 21:18   #4
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Идея такая:
цикл по i от 0 до N-1. Внутренний цикл по j от 0 до i.
Заполняем первый треугольник матрицы. Что-то вроде
Код:
for(i=0; i<N; i++)
 for(j=0; j<=i; j++)
  mas[i-j][j] = k++;
Теперь нужно заполнить другую половину. Там внешний цикл будет идти по столбцам.

upd:
Ладно. Написал вот.
Код:
#include <iostream>
#include <conio.h>
using namespace std;

int main()
{
const int N = 5;
int mas[N][N];
int i,j,k = 1;

for(i=0; i<N; i++)
  for(j=0; j<=i; j++)
   mas[i-j][j] = k++;

 for(i=1; i<N; i++)
  for(j=i; j<N; j++)
   mas[N-j+i-1][j] = k++;


for(i=0; i<N; i++)
 {
  for(j=0; j<N; j++)
  {
   cout.width(3);
   cout<<mas[i][j];
  }
 cout<<endl;
}

getch();
return 0;
}
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]

Последний раз редактировалось Sazary; 10.06.2009 в 21:37.
Sazary вне форума Ответить с цитированием
Старый 11.06.2009, 01:10   #5
O.G.O
 
Регистрация: 10.06.2009
Сообщений: 3
По умолчанию Окончательный код программы

Код:
#include <stdio.h>
#include <conio.h>
#define S 9
int Ar[S][S];
int main(void) {
clrscr();
short i,j;
short k;
k=1;
for (i=0;i<S;i++) {
for (j=0;j<=i;j++) {
Ar[i-j][j]=k++;
}
}
for (j=1;j<S;j++) {
for (i=0;i<=S-1-j;i++) {
Ar[S-1-i][j+i]=k++;
}
}
for (i=0;i<S;i++) {
for (j=0;j<S;j++) {
printf("%3d",Ar[i][j]);
}
printf("\n");
}
return 0;
}
O.G.O вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Заполнить матрицу по спирали (turbo pascal) cL1zMa Помощь студентам 8 16.05.2020 12:00
КАК повернуть матрицу на 90 градусов вправо (или влево). RomT24 Помощь студентам 15 09.12.2009 10:52
Объясните пожалуйста как можно считать значения в этом файле в вектор, 4 -ую матрицу, 6-ую матрицу ciaonataha Помощь студентам 1 30.03.2009 20:57
Заполнить матрицу линейной последовательностью Настенька..Блонди Помощь студентам 5 05.02.2009 20:53
Найти отношения суммы элементов главной диагонали и суммы элементов побочной диагонали квадратной матрицы Elmander Помощь студентам 2 21.06.2007 07:15