0 / 0 / 0
Регистрация: 08.11.2012
Сообщений: 35
1

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

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

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

Добавлено через 2 минуты
Только надо c++
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.01.2013, 21:37
Ответы с готовыми решениями:

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

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

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

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

13
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
10 / 1 / 0
Регистрация: 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
0 / 0 / 0
Регистрация: 08.11.2012
Сообщений: 35
06.01.2013, 23:13  [ТС] 4
А еще проще есть варианты может у кого? А то преподаватель прикапывается к таким выражениям %2==0, i<=n, говорит замените на более простые
0
10 / 1 / 0
Регистрация: 02.12.2012
Сообщений: 27
06.01.2013, 23:23 5
Цитата Сообщение от aleksandar Посмотреть сообщение
А еще проще есть варианты может у кого? А то преподаватель прикапывается к таким выражениям %2==0, i<=n, говорит замените на более простые
Проще уже нечего нету. Чтобы преподаватель не прикапывался нужно знать что выполняют эти операции.
0
0 / 0 / 0
Регистрация: 08.11.2012
Сообщений: 35
06.01.2013, 23:28  [ТС] 6
А программа работает, все ок? В приложении
0
10 / 1 / 0
Регистрация: 02.12.2012
Сообщений: 27
06.01.2013, 23:34 7
Цитата Сообщение от aleksandar Посмотреть сообщение
А программа работает, все ок? В приложении
Программа работает норм.
0
0 / 0 / 0
Регистрация: 08.11.2012
Сообщений: 35
06.01.2013, 23:49  [ТС] 8
Владислав, а что означают те символы?))) Если тебе не сложно объяснить
0
1321 / 983 / 267
Регистрация: 17.05.2012
Сообщений: 2,687
07.01.2013, 00:13 9
Владслав почему вы в коде на С++ используете malloc а не new? И уж если вы выделяете память динамически, кто её будет освобождать?
0
10 / 1 / 0
Регистрация: 02.12.2012
Сообщений: 27
07.01.2013, 00:49 10
Цитата Сообщение от David Sylva Посмотреть сообщение
Владслав почему вы в коде на С++ используете malloc а не new? И уж если вы выделяете память динамически, кто её будет освобождать?
malloc и new выполняют одинаковую функцию они выделяют память для нашего массива и мы можем использовать память как динамический, как статический или даже гибридный
0
1321 / 983 / 267
Регистрация: 17.05.2012
Сообщений: 2,687
07.01.2013, 00:51 11
Владслав А почему память не освободил?
0
10 / 1 / 0
Регистрация: 02.12.2012
Сообщений: 27
07.01.2013, 00:55 12
Цитата Сообщение от Владслав Посмотреть сообщение
Программа работает норм.
N%2 - остаток от деление на 2
== - символ равенства ( не путайте с присваиванием = )

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

Не по теме:

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



Добавлено через 48 секунд
я вот про это
Цитата Сообщение от Владслав Посмотреть сообщение
int* n=(int*)malloc(N*sizeof(int));
0
10 / 1 / 0
Регистрация: 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
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.01.2013, 01:17
Помогаю со студенческими работами здесь

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

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

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

Сформировать одномерный массив, каждый элемент которого равен последнему нечетному элементу строки матрицы
4) Дан двумерный массив целых чисел. Сформировать одномерный массив, каждый элемент которого равен...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru