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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.90
OldUnion
0 / 0 / 0
Регистрация: 09.11.2012
Сообщений: 10
#1

Сформировать массив С из элементов четных столбцов и массив В из элементов нечетных строк массива А - C++

09.11.2012, 22:58. Просмотров 1500. Ответов 21
Метки нет (Все метки)

Дана матрица А= 4.8, 3.2, 9.1, 5
5.1, 6, 1.4, -1
4.3, 1.15, 2.8, 3.14 в которой m=3 n=4.
Необходимо сформировать массив С из элементов четных столбцов и массив В из элементов нечетных строк массива А.
Я сделал так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
int z=0;
    double c [3] [4] = {{ 4.8, 3.2, 9.1, 5},
                        {5.1, 6, 1.4, -1},
                        {4.3, 1.15, 2.8, 3.14}};
 
 
    double a[8]; double b[6];
 
for (int i=0; i<4; i++) a[i]=c[0][i];
for (int i=4; i<8; i++) a[i]=c[2][i-4];
 
for (int i=0; i<3; i++) b[i]=c[i][1];
for (int i=3; i<6; i++) b[i]=c[i-3][3];
 
for (int i=0; i<8; i++) cout<<a[i]<<" ";
 
 
cout<<"\n\n\n\n\n\n\n";
 
for (int i=0; i<6; i++) cout<<b[i]<<" ";
cout<<"\n";
Но мне нужно сделать универсальную программу, то есть я не должен задавать номера строк и столбцов сам, а программа сама должна определять эти номера, мол массив мог бы быть и 100х100 и я не буду задавать номера вручную, можно кажется как то сделать через if\else, только не до конца понимаю как именно. Подскажите пожалуйста как)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.11.2012, 22:58
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Сформировать массив С из элементов четных столбцов и массив В из элементов нечетных строк массива А (C++):

Сформировать массив А из четных элементов исходного массива, а массив В - из нечетных - C++
Элементы массива Т формируются по правилу: Т(к)=15к-12. Сформировать массив А из четных элементов массива Т, а массив В- из нечетных(к=20)

Сформировать массив состоящий из четных и нечетных элементов помещеных в порядке следования исходного массива - C++
Создать массив с размерностью 200 элементов со значениями от 0 до 100. Требуется сформировать массив А в который помещены в порядке...

Сформировать одномерный массив, состоящий из максимальных элементов четных столбцов матрицы - C++
Дана целочисленная матрица 10x12. Найти сумму элементов в заштрихованной области. Сформировать одномерный массив, состоящий из максимальных...

Найти сумму элементов четных строк и произведение элементов нечетных строк массива - C++
дан двумерный массив динамический массив. Найти сумму элементов четных строк и произведение элементов нечетных строк. помогите...

Сформировать массив из нечетных элементов введенного массива - C++
вводится одномерный массив из целых чисел ,состоящих из n элементов. Требуется сформировать новый одномерный массив, состоящих из нечетных...

Сформировать одномерный массив, состоящий из произведений отрицательных элементов четных строк матрицы - C++
Помогите, я сделала программу на делфи - работает, переделала на си не работает, помогите что бы выводилось.. ЗАДАНИЕ: Сформировать...

21
1ropb
4 / 4 / 0
Регистрация: 23.09.2012
Сообщений: 74
10.11.2012, 00:35 #16
ну это уже к оформлению тогда
0
OldUnion
0 / 0 / 0
Регистрация: 09.11.2012
Сообщений: 10
10.11.2012, 00:37  [ТС] #17
Цитата Сообщение от I.M. Посмотреть сообщение
Во-первых, не вижу k++;
Во-вторых, не вижу, где и как объявлен массив В
В-третьих, нужны {} в цикле
C++
1
2
3
4
5
6
7
8
9
10
int k=0;
    double B[k];
    {
    for (int k=0; k<100; k++)
    for (int j = 1; j < n; j +=2)
    for (int i = 0; i < m; ++i)
    }
        B[k]=c[i][j];
      cout << B[k] << endl;
      cout<<"Массив из элементов чётных столбцов"<<endl;
что-то я не особо как-то сейчас понимаю...
0
1ropb
4 / 4 / 0
Регистрация: 23.09.2012
Сообщений: 74
10.11.2012, 00:40 #18
C++
1
2
3
4
5
6
7
int k=0;
    for (int j = 1; j < n; j +=2)
    for (int i = 0; i < m; ++i){
       B[k]=c[i][j];
       k++;}
      cout << B[k] << endl;
      cout<<"Массив из элементов чётных столбцов"<<endl;
0
I.M.
566 / 549 / 5
Регистрация: 16.12.2011
Сообщений: 1,389
10.11.2012, 00:40 #19
1ropb, ну в общем, я понял вашу мысль, что ++i и i++ ведет себя по-разному. Но к данному циклу это замечание неуместно.

C++
1
2
3
4
5
6
7
8
9
10
int k=0;
double B[k];//надо массив с нормальным размером задать, а не с нулевым. Посчитайте, сколько должно быть и запишите это вместо k
    for (int j = 1; j < n; j +=2)
    for (int i = 0; i < m; ++i)
    {
        B[k]=c[i][j];
      cout << B[k] << endl;
k++;
}
      cout<<"Массив из элементов чётных столбцов"<<endl;
1
OldUnion
0 / 0 / 0
Регистрация: 09.11.2012
Сообщений: 10
10.11.2012, 00:52  [ТС] #20
I.M.,
C++
1
2
3
4
5
6
7
8
9
10
int k=0;
    double B[6];//k=6,  k=m*(n/2); //четные столбцы
    for (int j = 1; j < n; j +=2)
    for (int i = 0; i < m; ++i)
    {
      B[6]=c[i][j];
      cout << B[k] << endl;
      ++k;
}
      cout<<"Массив из элементов чётных столбцов"<<endl;
warning C4789: конечная область для копирования памяти слишком мала
0
I.M.
566 / 549 / 5
Регистрация: 16.12.2011
Сообщений: 1,389
10.11.2012, 00:55 #21
C++
1
2
3
4
5
6
7
8
9
10
int k=0;
    double B[m*(n/2)];
    for (int j = 1; j < n; j +=2)
    for (int i = 0; i < m; ++i)
    {
      B[k]=c[i][j];
      cout << B[k] << endl;
      ++k;
}
      cout<<"Массив из элементов чётных столбцов"<<endl;
0
OldUnion
0 / 0 / 0
Регистрация: 09.11.2012
Сообщений: 10
10.11.2012, 01:00  [ТС] #22
I.M.,
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
#include "stdafx.h"
#include <iostream>
using namespace std;
 
int main ()
{
    setlocale (LC_ALL, "rus");
    int const m=3, n=4;
    double c [m] [n] = {{ 4.8, 3.2, 9.1, 5},
                        {5.1, 6, 1.4, -1},
                        {4.3, 1.15, 2.8, 3.14}};
 
   int k=0;
    double B[m*(n/2)];
    for (int j = 1; j < n; j +=2)
    for (int i = 0; i < m; ++i)
    {
      B[k]=c[i][j];
      cout << B[k] << endl;
      ++k;
}
      cout<<"Массив из элементов чётных столбцов"<<endl;
      int l=0;
    double A[n*((m/2)+1)];
 
for (int j = 0; j < n; ++j )
   for (int i = 0; i < m; i+=2) 
       {
      A[l]=c[i][j];
      cout << A[l] << endl;
      ++l;
}
      cout<<"Массив из элементов нечётных строк"<<endl;
 
    system ("pause");
    return 0;
}
Работает, во всем разобрался)
Огромное спасибо I.M
0
10.11.2012, 01:00
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.11.2012, 01:00
Привет! Вот еще темы с ответами:

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

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

Сформировать массив из нечетных элементов исходного - C++
Дано задание: Сформировать массив из нечетных элементов исходного.. Надо выполнить это задание для одномерного и двух мерного массива. Для...

Найти суммы четных элементов (элементов с четным номером) массива вещественных чисел A(22) и нечетных элементов - C++
Здравствуйте, дорогие форумчане. Не могли бы вы мне помочь? Мне нужно составить программу с таким условием: &quot;Найти суммы четных...


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

Или воспользуйтесь поиском по форуму:
22
Ответ Создать тему
Опции темы

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