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

Одномерные массивы - C++

Восстановить пароль Регистрация
 
Vova701
0 / 0 / 0
Регистрация: 11.12.2010
Сообщений: 8
11.12.2010, 17:18     Одномерные массивы #1
Помогите решить задачи:
1) В массиве T(k) найти номера первого и последнего нулевых элементов.
2) Дан двумерный массив размерностью 5 на 6 заполненный целыми числами. Сформировать одномерный массив, каждый элемент которого равен наибольшему по модулю элементу соответствующего столбца.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.12.2010, 17:18     Одномерные массивы
Посмотрите здесь:

Массивы. Одномерные массивы.(2 задачи) C++
Одномерные массивы C++
одномерные массивы, динамические массивы C++
C++ Одномерные массивы
C++ Одномерные массивы
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
11.12.2010, 17:58     Одномерные массивы #2
Цитата Сообщение от Vova701 Посмотреть сообщение
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
#include <stdio.h>
int const n=3;
int const m=5;
 
 
int _tmain(int argc, _TCHAR* argv[])
{    int mt[n][m]={{0,0,0, 0,7},
                   {0,2,-1,0,7},
                   {3,0,0, 0,10}};
  int i,max,mas[m],j=m;
 
  while (j--)
  { max=mt[0][j];
    for (i=0;i<n;i++)
        if (max<mt[i][j])
            max=mt[i][j];
    mas[j]=max;
  }
 
 for (i=0;i<m;i++)
     printf ("%5d", mas[i]);
 
 
 
 
    return 0;
}
размерность установишь нужную тебе

Добавлено через 13 минут
Цитата Сообщение от Vova701 Посмотреть сообщение
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
#include <stdio.h>
 
int const m=5;
 
void fun (int *mas,int k)
{ int i=0;
 
  while (i<k)
   if (*(mas+i++)==0)
   break;
 
  while (--k)
   if (*(mas+k)==0)
   break;
 
printf ("Nomer repvogo - %d\nNomer poslednego - %d", --i, k);
 
}
 
 
int _tmain(int argc, _TCHAR* argv[])
{    int mt[m]={0,8,8, 5,7};
fun (mt,5);
 
 
    return 0;
}

вот тебе функция, думаю разберешься
asics
Freelance
Эксперт C++
 Аватар для asics
2838 / 1775 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
11.12.2010, 18:28     Одномерные массивы #3
Цитата Сообщение от Vova701 Посмотреть сообщение
2) Дан двумерный массив размерностью 5 на 6 заполненный целыми числами. Сформировать одномерный массив, каждый элемент которого равен наибольшему по модулю элементу соответствующего столбца.
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
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <math.h>
 
#define LINE 5
#define COLUMNS 6
 
void enter_matr(int m[][COLUMNS])
{
    srand(time(NULL));
    int i, j;
 
    for(i = 0; i < LINE; ++i)
    {
        for(j = 0; j < COLUMNS; ++j)
        {
            m[i][j] = rand() % 10-5;
            printf("     %d    ", m[i][j]);
        }
        printf("\n");
    }
}
 
int main(void)
{
    int matr[LINE][COLUMNS], m[COLUMNS], max, i, j;
 
    enter_matr(matr);
    for(i = 0; i < COLUMNS; ++i)
    {
        max = matr[0][i];
        for(j = 0; j < LINE; ++j)
        {
            if(abs(matr[j][i]) > abs(max))
            {
                max = matr[j][i];
            }
        }
        m[i] = max;
    }
 
    printf("\nArray: ");
    for(i = 0; i < COLUMNS; ++i)
        printf("%d ", m[i]);
 
    return 0;
}
go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
11.12.2010, 19:03     Одномерные массивы #4
Цитата Сообщение от Vova701 Посмотреть сообщение
2) Дан двумерный массив размерностью 5 на 6 заполненный целыми числами. Сформировать одномерный массив, каждый элемент которого равен наибольшему по модулю элементу соответствующего столбца.
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 <stdio.h>
#include <math.h>
int const n=3;
int const m=5;
 
 
int _tmain(int argc, _TCHAR* argv[])
{    int mt[n][m]={{0,0,0, 0,7},
                   {0,2,-1,0,7},
                   {3,0,0, 0,10}};
  int i,max,mas[m],j=m;
 
  while (j--)
  { max=mt[0][j];
    for (i=0;i<n;i++)
                if (abc(max)<abc (mt[i][j]))
                        max=mt[i][j];
        mas[j]=max;
  }
 
 for (i=0;i<m;i++)
         printf ("%5d", mas[i]);
 
 
 
 
        return 0;
}
не заметил что по модулю
исправил
Yandex
Объявления
11.12.2010, 19:03     Одномерные массивы
Ответ Создать тему
Опции темы

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