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

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

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

В одномерном массиве, состоящем из n целых элементов, каждый четный элемент умножить на минимальный элемент массива, а нечетный – на максимальный.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.11.2012, 16:03
Ответы с готовыми решениями:

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

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

Каждый нечетный элемент списка умножить на 2, каждый четный на 3
сначало пытаюсь написать хотя бы проверку на четность и умножение на 3. (defun четность (l) ...

Умножить на 2 каждый четный элемент матрицы А
Помогите решить задачу на Паскале. Нужно каждый четный элемент матрицы удвоить

4
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
0 / 0 / 0
Регистрация: 29.10.2012
Сообщений: 21
25.11.2012, 16:21  [ТС] 3
а почему оно считает только 4 значения а потом пишет ошибку ??
0
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
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
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.11.2012, 16:39

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

каждый нечетный элемент списка умножить на 2, каждый четный на 3. использовать только рекурсию CAR,CDR,COND,CONS
каждый нечетный элемент списка умножить на 2, каждый четный на 3. использовать только рекурсию ...

Проверить является ли каждый четный элемент массива больше двух его соседних элементов
Дан произвольных массив.Проверить является ли каждый четный элемент массива больше двух его...

В двух массивах заменить каждый четный элемент на первый элемент массива
В двух массивах А(30) и В(11) заменить каждый четный элемент на первый элемент массива. Вывести...

Заменить каждый четный элемент массива на соседний справа элемент
нужно написать в паскале : исходный массив х целого типа; 1)заменить каждый четный элемент...


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

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

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