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

Матрица.Переписать в одномерный массив эл-ты четных столбцов значения которых меньше 1. Оформить в виде Функции - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.89
Bonk
 Аватар для Bonk
0 / 0 / 0
Регистрация: 19.12.2010
Сообщений: 23
28.12.2010, 17:48     Матрица.Переписать в одномерный массив эл-ты четных столбцов значения которых меньше 1. Оформить в виде Функции #1
Дана матрица( любого размера. в пределах разумного=)).Переписать в одномерный массив элементы четных столбцов. значения которых меньше 1. Оформить в виде функции. Программа на борланде.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.12.2010, 17:48     Матрица.Переписать в одномерный массив эл-ты четных столбцов значения которых меньше 1. Оформить в виде Функции
Посмотрите здесь:

Функция: Переписать в одномерный массив элементы четных столбцов, значения которых меньше 1 C++
Оформить одномерный массив в виде функций C++
C++ C++ Функции Массив (переписать в виде функции)
Дан массив содержащий m строк и n столбцов. Определить количество чисел массива, значения которых нечетное C++
Даны линейный массив действительных чисел. Вычислить произведение всех элементов, значения которых больше 4 и меньше 10 C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
KEKCoGEN
Модератор
 Аватар для KEKCoGEN
1723 / 1601 / 388
Регистрация: 28.12.2010
Сообщений: 6,530
28.12.2010, 17:57     Матрица.Переписать в одномерный массив эл-ты четных столбцов значения которых меньше 1. Оформить в виде Функции #2
C
1
2
3
4
5
6
7
8
int i,j,k=0;
for(i=0;i<m;i+=2)
    for(j=0;j<n;j++)
    if(matrix[i][j]<1)
    {
        arr[k]=matrix[j][i];
        k++;
    }
Массив должен быть достаточно большим или динамическим. Насчет ф-ции уточни какие параметры должна принимать, должна ли возвращать значение и.т.д
Bonk
 Аватар для Bonk
0 / 0 / 0
Регистрация: 19.12.2010
Сообщений: 23
28.12.2010, 18:33  [ТС]     Матрица.Переписать в одномерный массив эл-ты четных столбцов значения которых меньше 1. Оформить в виде Функции #3
Помоему не обязательно что бы функция в данном случае возвращала значения
KEKCoGEN
Модератор
 Аватар для KEKCoGEN
1723 / 1601 / 388
Регистрация: 28.12.2010
Сообщений: 6,530
28.12.2010, 19:13     Матрица.Переписать в одномерный массив эл-ты четных столбцов значения которых меньше 1. Оформить в виде Функции #4
если ф-ция имеет декларацию void foo(void); то надо просто скопировать код туда.
Bonk
 Аватар для Bonk
0 / 0 / 0
Регистрация: 19.12.2010
Сообщений: 23
29.12.2010, 15:54  [ТС]     Матрица.Переписать в одномерный массив эл-ты четных столбцов значения которых меньше 1. Оформить в виде Функции #5
если ф-ция имеет декларацию void foo(void); то надо просто скопировать код туда.
в борланде С++ 3.1 нету такой декларации

Добавлено через 19 часов 13 минут
Блин ну кто нибуть помогите
KEKCoGEN
Модератор
 Аватар для KEKCoGEN
1723 / 1601 / 388
Регистрация: 28.12.2010
Сообщений: 6,530
29.12.2010, 16:24     Матрица.Переписать в одномерный массив эл-ты четных столбцов значения которых меньше 1. Оформить в виде Функции #6
декларация void foo();
MILAN
 Аватар для MILAN
883 / 777 / 86
Регистрация: 21.02.2009
Сообщений: 1,722
29.12.2010, 16:48     Матрица.Переписать в одномерный массив эл-ты четных столбцов значения которых меньше 1. Оформить в виде Функции #7
Цитата Сообщение от Bonk Посмотреть сообщение
Дана матрица( любого размера. в пределах разумного=)).Переписать в одномерный массив элементы четных столбцов. значения которых меньше 1. Оформить в виде функции. Программа на борланде.
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
#include <stdio.h>
#include <time.h>
#include <conio.h>
#include <stdlib.h>
#include <malloc.h>
 
void fnk(int **mat,int M, int N, int num)
{
    int *arr,k=0;
    arr=new int[num];
    printf("\nResult\n");
    for(int i=0; i<M; i++)
    {
        for(int j=0; j<N; j++)
        {
            if(mat[i][j]<1 && !(j%2))
            {
                arr[k]=mat[i][j];
                printf("%d ",arr[k]);
                k++;
            }
        }
    }
  free(arr);
}
 
int main() 
{ 
      srand((unsigned)time(NULL));
      int **mat;
      int M,N,num=0; 
      printf("Enter number rows -> ");
      scanf("%d",&M);
      mat=(int**)malloc(M*sizeof(int**));
      printf("Enter number rows -> ");
      scanf("%d",&N);
      printf("Matrix:\n");
       for(int i=0; i<M; i++)
        {
           mat[i]=(int*)malloc(N*sizeof(int*));
            for(int j=0; j<N; j++)
            {
                mat[i][j]=rand()%9-4;
                 if(mat[i][j]<1 && !(j%2))
                 {
                     num++;
                 }
                printf("%d  ",mat[i][j]);
            }
          printf("\n");
        }
      fnk(mat,M,N,num);
      for(int i=0; i<M; i++)
      {
          free(mat[i]);
      }
      free(mat);
     getch();
     return 0;
}
igorrr37
 Аватар для igorrr37
1593 / 1221 / 118
Регистрация: 21.12.2010
Сообщений: 1,868
Записей в блоге: 7
29.12.2010, 17:15     Матрица.Переписать в одномерный массив эл-ты четных столбцов значения которых меньше 1. Оформить в виде Функции #8
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
#include <conio.h>
#include<iostream>
using namespace std;
 
void f(int mat[3][3], int *mas){
    int co=0;
    for(int j=0;j<3; j+=2){
        for(int i=0;i<3;i++){
            if(mat[i][j]<1){
                mas[co]=mat[i][j];
                cout<<mas[co]<<" ";
                co++;
            }
        }
    }
}
int main()
{
    int mas[6];
    int mat[3][3]={{-1, 2, 0},
                         { 4, 5,-6},
                     {-7, 8,-9}};
    f(mat, mas);
    getch();
}
Nameless One
Эксперт С++
 Аватар для Nameless One
5755 / 3404 / 255
Регистрация: 08.02.2010
Сообщений: 7,393
29.12.2010, 17:41     Матрица.Переписать в одномерный массив эл-ты четных столбцов значения которых меньше 1. Оформить в виде Функции #9
Вот с динамическими массивами на С89:
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
70
71
72
73
74
75
76
77
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
 
#define L_T -25
#define R_T  25
 
size_t foo(int**, size_t, size_t, int*);
 
int main()
{
    srand((size_t) time(NULL));
    size_t n, m, size, i, j, k;
    int** matrix = NULL;
    int*  array = NULL;
    
    printf("Input n: ");
    scanf("%u", &n);
    printf("Input m: ");
    scanf("%u", &m);
    size = n * m / 2;
    
    printf("Generating matrix of size %ux%u...\n", n, m);
    
    if((matrix = (int**) malloc(n * sizeof(int*))) == NULL)
    {
        fprintf(stderr, "Error allocating memory for rows...\n");
        exit(1);
    }
    
    for(i = 0; i < n; ++i)
    {
        if((matrix[i] = (int*) malloc(m * sizeof(int))) == NULL)
        {
            fprintf(stderr, "Error allocating memory for columns...\n");
            exit(2);
        }
        for(j = 0; j < m; ++j)
        {
            matrix[i][j] = rand() % (R_T - L_T + 1) + L_T;
            printf("%-6d", matrix[i][j]);
        }
        putchar('\n');
    }
    
    if((array = (int*) malloc(size * sizeof(int))) == NULL)
    {
        fprintf(stderr, "Error allocating memory for array...\n");
        exit(4);
    }
    
    k = foo(matrix, n, m, array);
    
    printf("Resulting array of size %u:\n", k);
    for(i = 0; i < k; ++i)
        printf("%d ", array[i]);
    putchar('\n');
    
    free(array);
    for(i = 0; i < n; ++i)
        free(matrix[i]);
    
    free(matrix);
    
    exit(0);
}
 
size_t foo(int** matrix, size_t n, size_t m, int* a)
{
    int i, j, k = 0;
    for(j = 0; j < m; j += 2)
        for(i = 0; i < n; ++i)
            if(matrix[i][j] < 1)
                a[k++] = matrix[i][j];
    
    return k;
}
Bonk
 Аватар для Bonk
0 / 0 / 0
Регистрация: 19.12.2010
Сообщений: 23
29.12.2010, 18:59  [ТС]     Матрица.Переписать в одномерный массив эл-ты четных столбцов значения которых меньше 1. Оформить в виде Функции #10
igorrr37, зачем ты ввел свои значения матрицы? Мне нужно что бы я сам мог ввести любые цифры, и программа смогла все правильно сделать

Добавлено через 2 минуты
Ребята сделайте под борланд 3.1, что бы было легче разшивровывать непонятные команды из других оболочек
Bonk
 Аватар для Bonk
0 / 0 / 0
Регистрация: 19.12.2010
Сообщений: 23
31.12.2010, 13:44  [ТС]     Матрица.Переписать в одномерный массив эл-ты четных столбцов значения которых меньше 1. Оформить в виде Функции #11
народ сделал пол проги, в функции Сhange сделал только что прога выберает елементы четых столбцов, но я не знаю как сделать что бы выводило значения меньше 1.
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
#include<iostream.h>
const int n=4,m=4;
void InArray (float [n][m]);
void Change (float [n][m]);
 
void main()
{
float a[n][m];
InArray (a);
Change (a);
 
}
void InArray (float a[n][m])
{
cout<<"Vvedite matricy "<<n<<"*"<<m<<endl;
for (int i=0;i<n;i++)
{
for (int j=0;j<m;j++)
cin>>a[i][j];
cout<<endl;
}
}
void Change (float [n][m])
{
float b;
for(int j=0;j<m;j++)
 
if(j%=2)
{ 
b=j;
}
cout<<"Matrica b \n";
cout<<"b="<<b;
}
KEKCoGEN
Модератор
 Аватар для KEKCoGEN
1723 / 1601 / 388
Регистрация: 28.12.2010
Сообщений: 6,530
31.12.2010, 14:07     Матрица.Переписать в одномерный массив эл-ты четных столбцов значения которых меньше 1. Оформить в виде Функции #12
C++
1
2
3
4
5
6
7
8
9
10
11
12
void Change (float [n][m]) // не указанно имя массива
{
float b;
for(int j=0;j<m;j++)
 
if(j%=2)  // j%=2 --> j=1 <-- нечетное число
{ 
b=j;  // b получит 1,3,5....
}
cout<<"Matrica b \n";  // b не матрица.
cout<<"b="<<b;
}
Поясни точнее что должна делать ф-ция Change
Принимать матрицу и переписывать нужные элементы в массив? Надо ли возвращать массив или печатать его внутри ф-ции?
^Tecktonik_KiLLeR
 Аватар для ^Tecktonik_KiLLeR
1144 / 426 / 19
Регистрация: 23.06.2009
Сообщений: 6,141
Завершенные тесты: 1
31.12.2010, 15:35     Матрица.Переписать в одномерный массив эл-ты четных столбцов значения которых меньше 1. Оформить в виде Функции #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
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
#include "iostream"
 
#include "stdlib.h"
#include "time.h"
 
using namespace std;
 
const int n=5;
 
void inp(int x[][n]);
int calc(int x[][n],int y[]);
void out(int x[][n],int y[],int m);
 
void main()
{
    srand(time(0));
    int x[n][n];
    int y[n*n]={0};
    inp(x);
    int m=calc(x,y);
    out(x,y,m);
}
 
void inp(int x[][n]){
    for(int i=0;i<n;i++)
    for(int j=0;j<n;j++)
    x[i][j]=rand()%20-10;//[-10:10]
}
 
int calc(int x[][n],int y[])
{   
    int m=0;
    for(int i=0;i<n;i++)
    for(int j=0;j<n;j++)
        if(j%2==0 && j!=0)
            if(x[i][j]<1)
                y[m++]=x[i][j];
    return m;
}
 
void out(int x[][n],int y[],int m)
{
    for(int i=0;i<n;i++)
    {
    for(int j=0;j<n;j++)
        cout<<x[i][j]<<"\t";
    cout<<endl;
    }
    cout<<endl;
    for(int i=0;i<m;i++)
        cout<<y[i]<<" ";
 
}
Bonk
 Аватар для Bonk
0 / 0 / 0
Регистрация: 19.12.2010
Сообщений: 23
02.01.2011, 22:07  [ТС]     Матрица.Переписать в одномерный массив эл-ты четных столбцов значения которых меньше 1. Оформить в виде Функции #14
Дана матрица размер n на m. Переписать в одномерный массив елементы четных столбчов, и которые меньше 1. Написать в виде функции. Ребята умоляю, сделайте на борланде, желательно 3.1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.01.2011, 22:50     Матрица.Переписать в одномерный массив эл-ты четных столбцов значения которых меньше 1. Оформить в виде Функции
Еще ссылки по теме:

оформить в виде функции одномерный массив C++
Переписать из одного массива в другой все элементы, значения которых больше -1.8 и меньше 2.7 C++
Оформить в виде функции. Дан массив А размера N (N-нечетное число) C++

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

Или воспользуйтесь поиском по форуму:
Минич
 Аватар для Минич
66 / 66 / 3
Регистрация: 26.11.2010
Сообщений: 123
02.01.2011, 22:50     Матрица.Переписать в одномерный массив эл-ты четных столбцов значения которых меньше 1. Оформить в виде Функции #15
Там твое задание, учись пользоваться поиском, не стоит повторно создавать темы
Двумерные массивы
Yandex
Объявления
02.01.2011, 22:50     Матрица.Переписать в одномерный массив эл-ты четных столбцов значения которых меньше 1. Оформить в виде Функции
Ответ Создать тему
Опции темы

Текущее время: 19:05. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru