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

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

Войти
Регистрация
Восстановить пароль
 
aleksandar
0 / 0 / 0
Регистрация: 08.11.2012
Сообщений: 35
#1

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

06.01.2013, 21:37. Просмотров 1051. Ответов 13
Метки нет (Все метки)

Кто знает. Плиз. Дан двумерный массив целых чисел. Сформировать одномерный массив, каждый элемент которого равен первому четному элементу соответствующего столбца двумерного массива(если такого элемента в столбце нет, то он равен нулю)

Добавлено через 2 минуты
Только надо c++
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.01.2013, 21:37
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Сформировать одномерный массив, каждый элемент которого равен первому четному элементу соответствующего столбца двумерного массива (C++):

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

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

Сформировать одномерный массив, каждый элемент которого равен наибольшему по модулю элементу соответствующего столбца - C++
1)Дан двумерный массив размерностью 5 х 6, заполненный целыми числами с клавиатуры. Сформировать одномерный массив, каждый элемент которого...

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

Сформировать массив, каждый элемент которого равен суме элементов соответствующего столбца матрицы - C++
Ребят помогите с кодом пожалуйста. Условие : Дана матрица действительных чисел D размером 6х6. Сформировать массив S1...S6 , каждый...

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

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
AlvinMax
0 / 0 / 0
Регистрация: 05.01.2013
Сообщений: 16
06.01.2013, 22:13 #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
using namespace std;
int main(){
    int n;
    cin >> n;
    int a[100][100],i,j;
    for (i=1;i<=n;++i)
    for (j=1;j<=n;++j)
    cin >> a[i][j];
    int c,b[100]; c=0;
    for (j=1;j<=n;++j)
    {
    for (i=1;i<=n;++i)
    if (a[i][j]%2==0)
    {b[j]=a[i][j];++c;break;}
    if (c==0)
    b[j]=0;
    }
    for (i=1;i<=n;++i)
    cout << b[i] << ' ';
    cout << endl;
    system("pause");
}
0
Владслав
-173 / 0 / 1
Регистрация: 02.12.2012
Сообщений: 27
06.01.2013, 22:27 #3
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
#include<iostream>
#define N 3
 
using namespace std;
int main(){
    int m[N][N];
 
    int* n=(int*)malloc(N*sizeof(int));
 
    for(int i=0; i<N; i++){
        for(int k=0; k<N; k++){
            cin>>m[i][k];
        }
    }
 
    for(int k=0; k<N; k++){
        for(int i=0; i<N; i++){
            if(m[i][k]%2==0){
                n[k]=m[i][k];
                break;
            }
 
            if(m[i][k]!=0){
                    n[k]=0;
                    break;
                }
        }
    }
 
    for(int k=0; k<N; k++){
            cout<<n[k]<<" ";
    }
 
    return 0;
}
0
aleksandar
0 / 0 / 0
Регистрация: 08.11.2012
Сообщений: 35
06.01.2013, 23:13  [ТС] #4
А еще проще есть варианты может у кого? А то преподаватель прикапывается к таким выражениям %2==0, i<=n, говорит замените на более простые
0
Владслав
-173 / 0 / 1
Регистрация: 02.12.2012
Сообщений: 27
06.01.2013, 23:23 #5
Цитата Сообщение от aleksandar Посмотреть сообщение
А еще проще есть варианты может у кого? А то преподаватель прикапывается к таким выражениям %2==0, i<=n, говорит замените на более простые
Проще уже нечего нету. Чтобы преподаватель не прикапывался нужно знать что выполняют эти операции.
0
aleksandar
0 / 0 / 0
Регистрация: 08.11.2012
Сообщений: 35
06.01.2013, 23:28  [ТС] #6
А программа работает, все ок? В приложении
0
Владслав
-173 / 0 / 1
Регистрация: 02.12.2012
Сообщений: 27
06.01.2013, 23:34 #7
Цитата Сообщение от aleksandar Посмотреть сообщение
А программа работает, все ок? В приложении
Программа работает норм.
0
aleksandar
0 / 0 / 0
Регистрация: 08.11.2012
Сообщений: 35
06.01.2013, 23:49  [ТС] #8
Владислав, а что означают те символы?))) Если тебе не сложно объяснить
0
David Sylva
1286 / 948 / 51
Регистрация: 17.05.2012
Сообщений: 2,687
07.01.2013, 00:13 #9
Владслав почему вы в коде на С++ используете malloc а не new? И уж если вы выделяете память динамически, кто её будет освобождать?
0
Владслав
-173 / 0 / 1
Регистрация: 02.12.2012
Сообщений: 27
07.01.2013, 00:49 #10
Цитата Сообщение от David Sylva Посмотреть сообщение
Владслав почему вы в коде на С++ используете malloc а не new? И уж если вы выделяете память динамически, кто её будет освобождать?
malloc и new выполняют одинаковую функцию они выделяют память для нашего массива и мы можем использовать память как динамический, как статический или даже гибридный
0
David Sylva
1286 / 948 / 51
Регистрация: 17.05.2012
Сообщений: 2,687
07.01.2013, 00:51 #11
Владслав А почему память не освободил?
0
Владслав
-173 / 0 / 1
Регистрация: 02.12.2012
Сообщений: 27
07.01.2013, 00:55 #12
Цитата Сообщение от Владслав Посмотреть сообщение
Программа работает норм.
N%2 - остаток от деление на 2
== - символ равенства ( не путайте с присваиванием = )

Добавлено через 2 минуты
Цитата Сообщение от David Sylva Посмотреть сообщение
Владслав А почему память не освободил?
Я использовал в своем исходнике статический массив тому я его не освобождал.
0
David Sylva
1286 / 948 / 51
Регистрация: 17.05.2012
Сообщений: 2,687
07.01.2013, 01:00 #13

Не по теме:

Владслав не подумай, что я к тебе докапываюсь, просто с человек могут этот аспект спросить.



Добавлено через 48 секунд
я вот про это
Цитата Сообщение от Владслав Посмотреть сообщение
int* n=(int*)malloc(N*sizeof(int));
0
Владслав
-173 / 0 / 1
Регистрация: 02.12.2012
Сообщений: 27
07.01.2013, 01:17 #14
Цитата Сообщение от David Sylva Посмотреть сообщение

Не по теме:

Владслав не подумай, что я к тебе докапываюсь, просто с человек могут этот аспект спросить.



Добавлено через 48 секунд
я вот про это
А в этом месте, да я чуть ошибся нужно было освободить

Добавлено через 2 минуты
Цитата Сообщение от Владслав Посмотреть сообщение
А в этом месте, да я чуть ошибся нужно было освободить
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
#include<iostream>
#define N 3
 
using namespace std;
int main(){
    int m[N][N];
 
    int* n=(int*)malloc(N*sizeof(int));
 
    for(int i=0; i<N; i++){
        for(int k=0; k<N; k++){
            cin>>m[i][k];
        }
    }
 
    for(int k=0; k<N; k++){
        for(int i=0; i<N; i++){
            if(m[i][k]%2==0){
                n[k]=m[i][k];
                break;
            }
 
            if(m[i][k]!=0){
                    n[k]=0;
                    break;
                }
        }
    }
 
    for(int k=0; k<N; k++){
            cout<<n[k]<<" ";
    }
    free(n);
 
    return 0;
}
вот вроде правильно

Добавлено через 13 минут
чуть подкорректировал
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
#include<iostream>
#define N 3
 
using namespace std;
int main(){
    int m[N][N];
 
    int* n=(int*)malloc(N*sizeof(int));
 
    for(int i=0; i<N; i++){
        for(int k=0; k<N; k++){
            cin>>m[i][k];
        }
    }
 
    for(int k=0; k<N; k++){
        for(int i=0; i<N; i++){
            if(m[i][k]%2==0){
                n[k]=m[i][k];
                break;
            }
            if(m[i][k]!=0){
                    n[k]=0;
                }
 
        }
 
    }
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.01.2013, 01:17
Привет! Вот еще темы с ответами:

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

Сформировать одномерный массив, каждый элемент которого равен сумме элементов исходной матрицы - C++
Задан двухмерный числовой массив. Сформировать одномерный массив, каждый элемент которого равен сумме элементов соответствующей исходной...

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

Из массива (15 элементов) получите новый массив, каждый элемент которого равен сумме соответствующего исходного элемента и его квадрата - C++
Доброе время суток! Почти никогда не писал на форум, как то сам все обычно сочинял, но тут проболел тему, и практику &quot;массивы&quot;, теперь...


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

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

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