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

Поменять местами значения в массиве

05.12.2019, 16:34. Показов 2674. Ответов 4
Метки нет (Все метки)

Не хочет компилироваться((
Подскажите, что не так??
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 main(){
 
int array[50], temp;
printf("Vvedit' znachennya do masyvu:\n");
   for(int i=0; i<=50; i++){
        scanf("%d",&array);
    }
     int max = array[0];
    for(int i=0; i<50; i++){
       if(array[i]>max){
        max=array[i];
       }
   }
     int min = array[0];
   for(int i=0; i<50; i++){
       if(array[i]<min){
        min=array[i];
      }
  for(int i=0; i<50; i++){
     temp = max;
     max = min;
     min = temp;
  }
   for(int i=0; i<50; i++){      
     printf("New array:%d\n",array);
   }
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.12.2019, 16:34
Ответы с готовыми решениями:

В заданном массиве поменять местами значения, стоящие на симметричных, относительно центра, местах
В заданном массиве поменять местами значения, стоящие на симметричных, относительно центра, местах....

Поменять местами строки в массиве
Подскажите, пожалуйста, как в массиве D поменять местами 2 и 3 строки

Поменять местами элементы в массиве
Здравствуйте, пытался поменять элементы (как на картинке) при индексной замене элементов они...

Поменять значения массива местами
Вообщем задача найти максимальный и минимальный элемент массива и поменять их местами. Найти я их...

4
из племени тумба-юбма
2381 / 1716 / 398
Регистрация: 29.11.2015
Сообщений: 8,295
Записей в блоге: 14
05.12.2019, 17:28 2
Лучший ответ Сообщение было отмечено Lockal как решение

Решение

Не понятен смысл программы. В первом цикле ищите max. Во втором ищите min. В третьем значения min и max меняете местами, для чего не понятно. И в конце печатайте все элементы.
Далее у вас во втором цикле нет фигурной скобки, в общем поправил, а размер массива вывел в константу, так проще изменять размер.
Кликните здесь для просмотра всего текста
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
#include <stdio.h>
#define L 3
int main(){
 
int array[L], temp;
printf("Vvedit' znachennya do masyvu:\n");
   for(int i=0; i<L; i++){
        scanf("%d", &array[i]);
    }
    int max = array[0];
    for(int i=0; i<L; i++){
       if(array[i]>max){
        max=array[i];
       }
   }
     int min = array[0];
   for(int i=0; i<L; i++){
       if(array[i]<min){
        min=array[i];
      }
    }
  for(int i=0; i<L; i++){
     temp = max;
     max = min;
     min = temp;
  }
   for(int i=0; i<L; i++){      
     printf("New array:%d\n", array[i]);
   }
}

И еще тогда на будущее, если в теле условия, или цикла (которое в фигурных скобках) всего одна строка, то фигурные скобки не обязательны и программа может выглядеть так:
Кликните здесь для просмотра всего текста
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>
#define L 3
int main(){
 
int array[L], temp;
printf("Vvedit' znachennya do masyvu:\n");
    for(int i=0; i<L; i++)
        scanf("%d", &array[i]);
 
    int max = array[0];
    for(int i=0; i<L; i++)
        if(array[i]>max)
            max=array[i];
 
    int min = array[0];
    for(int i=0; i<L; i++)
        if(array[i]<min)
            min=array[i];
 
    for(int i=0; i<L; i++){
     temp = max;
     max = min;
     min = temp;
    }
    for(int i=0; i<L; i++)     
     printf("New array:%d\n", array[i]);
}


Добавлено через 19 минут
Доперло, что вы хотите оно в названии темы
Кликните здесь для просмотра всего текста
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
#include <stdio.h>
#define L 3
int main(){
 
int array[L];
printf("Vvedit' znachennya do masyvu:\n");
    for(int i=0; i<L; i++)
        scanf("%d", &array[i]);
 
    int max = array[0];
    for(int i=0; i<L; i++)
        if(array[i]>max)
            max=array[i];
 
    int min = array[0];
    for(int i=0; i<L; i++)
        if(array[i]<min)
            min=array[i];
 
    for(int i=0; i<L; i++){
        if (min==array[i]){
            array[i]=max;
            continue;
        }
        if (max==array[i]){
            array[i]=min;
            continue;
        }
    }
    for(int i=0; i<L; i++)     
     printf("New array:%d\n", array[i]);
}
1
0 / 0 / 0
Регистрация: 02.12.2019
Сообщений: 28
05.12.2019, 17:32  [ТС] 3
Это просто такое задание, поменять местами наибольший и наименьший элементы массива
Программа запустилась, но почему-то выводит на экран массив в той же последовательности, в которой ввели значения и местами их не меняет..
0
из племени тумба-юбма
2381 / 1716 / 398
Регистрация: 29.11.2015
Сообщений: 8,295
Записей в блоге: 14
05.12.2019, 17:45 4
уже исправил свой ответ, проверьте
0
0 / 0 / 0
Регистрация: 02.12.2019
Сообщений: 28
05.12.2019, 18:05  [ТС] 5
Ах вот как оно делается!Спасибо, теперь буду знать!
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.12.2019, 18:05
Помогаю со студенческими работами здесь

Поменять в двумерном массиве местами минимум и максимум
В программе реализованно задание: Поменять в двумерном массиве местами min и max. При запуске...

В двумерном массиве поменять местами определенные столбцы
Например массив: 1 2 3 8 4 5 6 8 7 1 0 7 9 0 2 3 выбираем поменять 1 и 3, но можно и...

Не получается поменять местами элементы в двумерном массиве
#include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; #include &lt;locale.h&gt; #define k 3 #define m 3 int...

Поменять местами в массиве максимальный и минимальный элементы
Помогите пожалуйста решить задачку)совсем не силен в с++( Задан одномерный массив В,состоящем из...


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

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

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