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

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

Войти
Регистрация
Восстановить пароль
 
b0nny
3 / 1 / 0
Регистрация: 11.11.2013
Сообщений: 346
#1

Массив nxn. Нечетные строки таблицы заменить на вектор Х - C++

11.04.2014, 20:18. Просмотров 562. Ответов 3
Метки нет (Все метки)

Дан массив размером n×n, элементы которого целые числа. Нечетные строки таблицы заменить на вектор Х.
Замечание. Для хранения массив n×n использовать ступенчатый массив.
Помогите с кодом.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.04.2014, 20:18     Массив nxn. Нечетные строки таблицы заменить на вектор Х
Посмотрите здесь:

Двумерный массив. Поменять четные и нечетные строки. C++
C++ Массив NxN. Упорядочить столбцы по возрастанию.
C++ В прямоугольной матрице A(m,n) заменить нечетные строки вектором B(n)
C++ Массив: считать строки в вектор
C++ Дан массив целых чисел из 10 элементов.Все элементы кратные 10 заменить 0;Все нечетные элементы удвоить, а четные уменьшить на 2;
C++ Дана действительная матрица А(N*M) и массив В(N).Заменить четные столбцы матрицы на вектор B.
C++ Нечетные строки матрицы заменить на заданный одномерный массив
C++ задан вектор С, который состоит из 12 действительных чисел. Сформировать вектор D, нечетные элементы которого есть целая часть нечетных
Дано двумерный массив целых чисел. Все нечетные элементы заданного массива заменить суммой номеров их строки и столбца C++
Двумерный динамический массив. Все нечетные строки матрицы сдвинуть циклически на К элементов влево C++
Заполнить квадратный двумерный массив размером NxN по правилу C++
Дан двумерный массив разностью NxN C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
TenGen
Будущее рядом
97 / 95 / 20
Регистрация: 06.03.2014
Сообщений: 342
11.04.2014, 20:23     Массив nxn. Нечетные строки таблицы заменить на вектор Х #2
b0nny,
C++
1
2
3
for (int i = 0; i< n; i+=2)
for (int j = 0; j < m; j++)
a[i][j] = x[j];
это действует для массива int a[n][m]; int x[m];
заполнение массива и вектора и вывод сами, думаю, дооформите
b0nny
3 / 1 / 0
Регистрация: 11.11.2013
Сообщений: 346
13.04.2014, 15:49  [ТС]     Массив nxn. Нечетные строки таблицы заменить на вектор Х #3
Эм... Пока завис.
Сделал ступенчатую матрицу и одномерный массив x
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
#include<iostream>
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
 
using namespace std;
 
main()
{
    int n,i,j,k;
    printf("n="); scanf("%d",&n);
    int a[n][n];
    int x[n];
    srand((unsigned)time(NULL));
  printf("ÑòóïåГ*Г·Г*ГІГ*Гї Г¬Г*òðèöГ*:");
  printf("\n");
    for (int i=0; i<n; i++)
    {
        for (int j=0; j<n; j++)
        {
            a[i][j]=rand()%21-10;
        }
    }
    for (i=0; i<=3; i++)
    {
        for (j=0; j<i; j++)
        {
            a[i][j]=0;
        }
    }
    for (i=0; i<=2; i++)
    {
        for (j=0; j<=2; j++)
        {
            printf("%3d ", a[i][j]);
        }
        printf("\n");
    }
    
    printf("\n");
    printf("Âåêòîð x:");
    printf("\n");
    for (int k=0; k<n; k++)
    {
        x[k]=rand()%21-15;
        printf("%3d ", x[k]);
    }
    
    printf("\n");
    system("pause");
    return 0;
}
Плюс на данном этапе возник вопрос. Почему-то я меняю n, а у меня матрица не хочет быть более большего размера чем 3 да и менее, а вот массив x меняется.

Добавлено через 31 минуту
Эм прозевал в цикле размер...

Добавлено через 44 минуты
В итоге:
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
57
58
59
60
61
62
63
64
65
66
67
68
69
#include<iostream>
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
 
using namespace std;
 
main()
{
    int n,i,j,k;
    printf("n="); scanf("%d",&n);
    int a[n][n];
    int x[n];
    srand((unsigned)time(NULL));
  printf("Ступенчатая матрица:");
  printf("\n");
    for (int i=0; i<n; i++)
    {
        for (int j=0; j<n; j++)
        {
            a[i][j]=rand()%21-10;
        }
    }
    for (i=0; i<=n; i++)
    {
        for (j=0; j<i; j++)
        {
            a[i][j]=0;
        }
    }
    for (i=0; i<n; i++)
    {
        for (j=0; j<n; j++)
        {
            printf("%3d ", a[i][j]);
        }
        printf("\n");
    }
    
    printf("\n");
    printf("Вектор x:");
    printf("\n");
    for (int k=0; k<n; k++)
    {
        x[k]=rand()%21-15;
        printf("%3d ", x[k]);
    }
    
    printf("\n\n");
    printf("Измённый массив:");
    printf("\n");
    for(int i=0; i<n; i++)
  {
        for (int i=0; i<n; i+=2)
        {
            for (int j=0; j<n; j++)
            {
                a[i][j] = x[j];
            }
        }
    for(int j=0; j<n; j++)
    {
      printf("%3d ", a[i][j]);
        }
    std::cout << std::endl;
  }
    system("pause");
    return 0;
}
TenGen
Будущее рядом
97 / 95 / 20
Регистрация: 06.03.2014
Сообщений: 342
13.04.2014, 19:43     Массив nxn. Нечетные строки таблицы заменить на вектор Х #4
b0nny, если все работает так как нужно, то хорошо)
Yandex
Объявления
13.04.2014, 19:43     Массив nxn. Нечетные строки таблицы заменить на вектор Х
Ответ Создать тему
Опции темы

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