Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 19.02.2012
Сообщений: 5

Двумерные массивы

21.02.2012, 22:51. Показов 484. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток, стоит задача:

Дано число n. Создайте массив int A[n][n], и заполните его по следующему правилу:

Числа на диагонали, идущей из правого верхнего в левый нижний угол равны 1.
Числа, стоящие выше этой диагонали, равны 0.
Числа, стоящие ниже этой диагонали, равны 2.

Полученный массив выведите на экран. Числа разделяйте одним пробелом. Пример
Вход Выход
4 0 0 0 1
0 0 1 2
0 1 2 2
1 2 2 2

Решение получилось такое:
Code
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
#include <iostream>
using namespace std;
 
int main()
{
 
    int r,c,i,j;
    cin>>r>>c;
    int **mas = new int *[r];
    for(i=0; i<r; i++)
    {
        mas[i] = new int [c];
    }
    
    for(i=0;i<r;i++)
    {
       for(j=r-1;j>=0;j--)
       {
          if (i<j)
          {
             mas[i][j]=2;
             cout<<mas[i][j];
          }
          else if(i>j)
          {
             mas[i][j]=0;
             cout<<mas[i][j];
         
          }
          else
          {
             mas[i][j]=1;
             cout<<mas[i][j];
             
          }
          
       }
       cout<<endl;
    }
 
 
    for(i=0; i<r;i++)
    {
        delete [] mas[i];
    }
    delete [] mas;
    return 0;
}

Это решение правильно, но! оно работает через оператор if.
Как написать этот же код, но только с операторами цикла for?
Я написал похожее, но где-то есть ошибка...

Code
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
#include <iostream>
using namespace std;
 
int main()
{
 
    int r,c,i,j;
    cin>>r>>c;
    int **mas = new int *[r];
    for(i=0; i<r; i++)
    {
        mas[i] = new int [c];
    }
    
    for(i=0;i<r;i++)
    {
        for(j=r-1;j>i;j--)
        {
             mas[i][j]=2;
            cout<<mas[i][j];
        }
        for(j=r-1;j>=0;j--)
        {
            mas[i][j]=1;
            cout<<mas[i][j];
        }
        for(j=r-1;j<i;j--)
        {
             mas[i][j]=0;
            cout<<mas[i][j];
        }
        
        cout<<endl;
    }
    
 
 
 
    for(i=0; i<r;i++)
    {
        delete [] mas[i];
    }
    delete [] mas;
    return 0;
}
Помогите исправить пожалуйста или предложите свои варианты решения. Заранее спасибо!
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
21.02.2012, 22:51
Ответы с готовыми решениями:

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

Двумерные массивы.
для заданной матрицы размером 8x8 найти такие k, что k-я строка матрицы совпадает с k-м столбцом. Как это вообще? Второй день голову...

Двумерные массивы
Помогите люди добрые:) Дана целочисленная прямоугольная матрица, определить: 1) Кол-во отрицательных эл-тов тех строк, которые содержат...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
21.02.2012, 22:51
Помогаю со студенческими работами здесь

Поменять местами максимальный и минимальный элементы главной диагонали матрицы
Составить программу обмена местами максимального и минимального элементов главной диогонали матрицы 4x4. зарание спасибо!

с++ двумерные массивы
с++ двумерные массивы, можете помочь написать код пожалуйста №1 Заполнить матрицу А(9,9), от левого верхнего угла по диагонали: вправо -...

Получить массив, присвоив k-му элементу значение true, если все элементы k-го столбца матрицы А нулевые
Ребята, помогите очень прошу! :с По массиву А(n,m) получить массив В(n) (типа boolean), присвоив k-му элементу значение true, если все...

Получить новую матрицу, переставляя четверти исходной матрицы размера N×N крест накрест
Помогите решить задачку!!!!!! Дана действительная квадратная матрица порядка 2N. Подучить новую матрицу, переставляя ее блоки размера N х...

Двумерные массивы
Привет всем! если есть у кого время, посмотрите что можно сделать, нужна ваша помощь! Сформировать одномерный массив B из максимальных...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru