Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
sorryPlzHelpME
0 / 0 / 0
Регистрация: 29.10.2012
Сообщений: 21
1

Каждый четный элемент массива умножить на минимальный его элемент

25.11.2012, 16:03. Просмотров 1028. Ответов 4
Метки нет (Все метки)

В одномерном массиве, состоящем из n целых элементов, каждый четный элемент умножить на минимальный элемент массива, а нечетный – на максимальный.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.11.2012, 16:03
Ответы с готовыми решениями:

Каждый четный элемент массива умножить на минимальный элемент, а нечетный на максимальный
В одномерном массиве, состоящем из n целых элементов, каждый четный элемент умножить на минимальный...

Каждый неотрицательный элемент умножить на минимальный элемент массива
В одномерном массиве, состоящем из n целых элементов, каждый неотрицательный элемент умножить на...

Найти минимальный четный элемент массива используя указатели
Ребята, помогите. Тоько начинаю програмировать и никак не могу разобраться. Нужно найти минимальный...

Умножить каждый элемент массива С на сумму элементов соответствующей строки матрицы A
Умножить каждый элемент массива С m на сумму элементов соответствующей строки матрицы A m, n.

Каждый нечетный элемент массива умножить на 10 и вычислить сумму четных элементов.
задание: в одномерном массиве, состоящем из n целых элементов, каждый нечетный элемент умножить на...

4
level9626
9 / 9 / 2
Регистрация: 23.09.2012
Сообщений: 150
25.11.2012, 16:08 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
#include <stdio.h>
int main ()
{
int n=0, mas[n], i=0, min=0, max=0;
printf("Vvedite N:");
scanf("%i",&n);
for (i=0;i<n;i++)
{
    printf("Vvedite mas%i = ", i);
    scanf("%i", & mas[i]);
}
for (i=0, min=mas[0], max=mas[0]; i<n; i++)
{
    if(mas[i]<min) min=mas[i];
    if(mas[i]>max) max=mas[i];
}
printf("\nMin: %d\nMax: %d\n", min, max);
for (i=0; i<n; i++)
    {
       if (mas[i]%2) mas[i]*=max;
       else mas[i]*=min;
    }
for (i=0;i<n;i++)
    {
        printf("Element mas=%i\n", mas[i]);
    }
return 0;
}
1
sorryPlzHelpME
0 / 0 / 0
Регистрация: 29.10.2012
Сообщений: 21
25.11.2012, 16:21  [ТС] 3
а почему оно считает только 4 значения а потом пишет ошибку ??
0
level9626
9 / 9 / 2
Регистрация: 23.09.2012
Сообщений: 150
25.11.2012, 16:34 4
Цитата Сообщение от sorryPlzHelpME Посмотреть сообщение
а почему оно считает только 4 значения а потом пишет ошибку ??
выбивает ошибку если выше количество N больше 8, не знаю почему.

можно сделать по-другому.
заменить это:
C
1
2
3
4
int n=0, mas[n], i=0, min=0, max=0;
printf("Vvedite N:");
scanf("%i",&n);
for (i=0;i<n;i++)
на это.
C
1
2
3
4
int i=0, min=0, max=0;
const int n=10;
int mas[n]={0};
for (i=0;i<n;i++)
но тогда количество n будет константой.
0
uburuntu
95 / 95 / 58
Регистрация: 04.10.2012
Сообщений: 189
25.11.2012, 16:39 5
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

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
#include <stdio.h>
#include <stdlib.h>
 
int main (void)
{
int *mas, i, min, max, n;
 
printf("Input n:");
scanf("%d", &n);
mas=(int *)malloc(n*sizeof(int));
for (i=0; i<n; i++)
   {
      printf("Input mas[%i] = ", i+1);
      scanf("%d", mas+i);
      if (!i)  {min=mas[0]; max=mas[0];}
      if (mas[i]<min) min=mas[i];
      if (mas[i]>max) max=mas[i];
   }
 
printf("\nMin: %d\nMax: %d\n", min, max);
 
for (i=0; i<n; i++)
   {
       if (!(i%20)) printf("\n");
       if (mas[i]%2) mas[i]*=max;
          else mas[i]*=min;
       printf("mas[%d]= %d\n", i+1, mas[i]);
   }
free(mas);
return 0;
}
Слегка отредактировал

Добавлено через 3 минуты
Цитата Сообщение от level9626 Посмотреть сообщение
выбивает ошибку если выше количество N больше 8, не знаю почему.
Нет выделения памяти
Почитайте про динамическое распределение памяти (wiki)
2
25.11.2012, 16:39
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.11.2012, 16:39

Каждый второй элемент массива умножить на 2, а из каждого пятого элемента вычислить 5
1)Дан двумерный массив А (n , m). Каждый второй элемент умножить на 2, а из каждого пятого...

Найти минимальный элемент массива и его номер, а также найти следующий за ним минимальный элемент и номер
Найти минимальный элемент массива и его номер, а также найти следующий за ним минимальный элемент...

Организовать одномерный массив, каждый элемент которого есть минимальный элемент в соответствующей строке матрицы
Добрый день. Я учусь программировать в Turbo C(Не с++, а именно эта версия). Не могу найти...


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

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

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