Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 5.00/16: Рейтинг темы: голосов - 16, средняя оценка - 5.00
 Аватар для incognito
153 / 145 / 2
Регистрация: 08.04.2010
Сообщений: 1,010

Одномерный массив. Переписать эл-ты между max&min.

27.05.2011, 22:32. Показов 3587. Ответов 36
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток. Помогите справиться с заданием на Си.
Задание:
Дан одномерный массив А, состоящий из N элементов. Переписать в одномерный массив B все элементы, заключенные между максимальным и минимальным значениями.
Компилятор выдает ошибку "error C2181: illegal else without matching if" в строке 26.
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 "stdafx.h"
 
 
int main()
{
    int A[50], B[50];
    int max, min, i, L, T, La, Lb, k;
printf ("Enter elements of array");
for (i=0;i<50;i++)
//препод-ль сказал, что массив нужно считать через цикл,  таким образом?
{
scanf("%d",&A);
} 
max=A[0];
min=max;
k=0;
for (i=1;i<50;i++)
{
    if (max<=A[i])
        max=A[i];L=i;
    if (min>=A[i])
        min=A[i]; T=i;
}
if (L>T)
    La=L; Lb=T;
else La=T; Lb=L;
 
for (i=La; i<Lb;i++)
{
    B[k]=A[i];
    k=k+1;
}
printf ("%d", B[k]);
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
27.05.2011, 22:32
Ответы с готовыми решениями:

Одномерный массив, не считает произведение между MIN и MAX элементом
Кратко суть проблемы. Написал программу, которая генерирует одномерный массив из n элементов псевдослучайных чисел в заданом...

Одномерный массив. Определить разность между max и min элементами массива и их индексами
..ничего не получается... сформируйте одномерный массив из 50 целых случайных чисел в диапозоне от 0 до 100.составить блок схему к...

Есть одномерный динамический массив, нужно найти произведение между min и max элементами.
Привет срочно нужно!!!!!!!!! Есть одномерный динамический массив нужно знайти прозведение между min и max елементамы ? Delphi//

36
Freelance
Эксперт С++
 Аватар для asics
2891 / 1826 / 356
Регистрация: 09.09.2010
Сообщений: 3,841
28.05.2011, 01:00
Студворк — интернет-сервис помощи студентам
incognito, Вылетать, всмисле run-time ошибка или окно просто закрываеться ?
1
 Аватар для incognito
153 / 145 / 2
Регистрация: 08.04.2010
Сообщений: 1,010
28.05.2011, 01:02  [ТС]
Окно программы исчезает сразу после ввода элементов.
0
Freelance
Эксперт С++
 Аватар для asics
2891 / 1826 / 356
Регистрация: 09.09.2010
Сообщений: 3,841
28.05.2011, 01:05
Если чесно, понятия не имею почему так, задержка-то стоит.
1
 Аватар для incognito
153 / 145 / 2
Регистрация: 08.04.2010
Сообщений: 1,010
28.05.2011, 01:11  [ТС]
Цитата Сообщение от asics Посмотреть сообщение
Если чесно, понятия не имею почему так, задержка-то стоит.
Тогда оставлю вариант без вывода сообщения. Думаю, без него будет не катастрофично). Огромное спасибо Вам, asics.
0
быдлокодер
 Аватар для kravam
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
28.05.2011, 01:11
incognito,какая IDE?
Надо разобраться до конца!
1
Freelance
Эксперт С++
 Аватар для asics
2891 / 1826 / 356
Регистрация: 09.09.2010
Сообщений: 3,841
28.05.2011, 01:13
kravam,
Цитата Сообщение от incognito Посмотреть сообщение
Я пользуюсь Visual C++ Express Edition.
1
быдлокодер
 Аватар для kravam
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
28.05.2011, 01:17
incognito,какие данные вводишь, что у тебя окно закрывается сразу после их ввода?
1
 Аватар для incognito
153 / 145 / 2
Регистрация: 08.04.2010
Сообщений: 1,010
28.05.2011, 01:23  [ТС]
Цитата Сообщение от kravam Посмотреть сообщение
incognito,какие данные вводишь, что у тебя окно закрывается сразу после их ввода?
Целые положительные числа. Обычно рэндомно. С вариантами рядомстоящих макс и мин элементов тоже пробую.
0
быдлокодер
 Аватар для kravam
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
28.05.2011, 01:25
Блин, надо точные числа, как тестить-то? Надо добивать прогу до конца.
Запускай в консоли. Если косяк- вылезет какое-нибудь диагностическое сообщение об этом. Числа сюда.
Надо-надо, прога должна работать безо всяких там этих самых. Числа сюда, завтра посмотрю. А щас спать.
1
 Аватар для incognito
153 / 145 / 2
Регистрация: 08.04.2010
Сообщений: 1,010
28.05.2011, 01:45  [ТС]
Так-то я не знаю что такое "консоль".
Вот некоторые результаты:
6 9 0 5 7 - окно исчезло. Такой же результат при 59467.
Зато при 57430 выдало 4 3, а при 47069 - 6.
Сейчас еще попробую.

Добавлено через 7 минут
7 7 7 0 4 - 77
9 0 0 9 4 - окно пропало
-5 4 9 1 0 - 4
1 1 1 1 1 - не выдало ничего
23 0 7 9 4 - окно пропало
0
Freelance
Эксперт С++
 Аватар для asics
2891 / 1826 / 356
Регистрация: 09.09.2010
Сообщений: 3,841
28.05.2011, 02:01
Цитата Сообщение от incognito Посмотреть сообщение
6 9 0 5 7 - окно исчезло.
Code
1
2
3
4
5
6
7
8
A[0] = 6
A[1] = 9
A[2] = 0
A[3] = 5
A[4] = 7
no elements between max and min
Process returned 1 (0x1)   execution time : 16.297 s
Press any key to continue.
Цитата Сообщение от incognito Посмотреть сообщение
Такой же результат при 59467
Code
1
2
3
4
5
6
7
8
A[0] = 5
A[1] = 9
A[2] = 4
A[3] = 6
A[4] = 7
no elements between max and min
Process returned 1 (0x1)   execution time : 11.031 s
Press any key to continue.
Цитата Сообщение от incognito Посмотреть сообщение
9 0 0 9 4 - окно пропало
Code
1
2
3
4
5
6
7
8
A[0] = 9
A[1] = 0
A[2] = 0
A[3] = 9
A[4] = 4
no elements between max and min
Process returned 1 (0x1)   execution time : 4.734 s
Press any key to continue.
Цитата Сообщение от incognito Посмотреть сообщение
23 0 7 9 4
Code
1
2
3
4
5
6
7
8
A[0] = 23
A[1] = 0
A[2] = 7
A[3] = 9
A[4] = 4
no elements between max and min
Process returned 1 (0x1)   execution time : 5.781 s
Press any key to continue.
1
 Аватар для incognito
153 / 145 / 2
Регистрация: 08.04.2010
Сообщений: 1,010
28.05.2011, 02:15  [ТС]
Может я что-то неправильно делаю. Запускаю программу, выходит окно, набираю число, нажимаю ВВОД, набираю другое число..., набрав последний элемент, нажимаю ВВОд опять и окно программы исчезает в небытие.

Хотел добавить отзыв к сообщению, не вышло.
0
быдлокодер
 Аватар для kravam
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
28.05.2011, 09:19
Сейчас и далее пока я не оговорю отдельно, тести ТОЛЬКО с цифрами 6 9 0 5 7
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
#include <stdio.h>
#include <conio.h>
 
#define SIZE 5
 
void swap(int *a, int *b){
  size_t t = *a;
  *a = *b;
  *b = t;
}
 
int MOD(int a){
  return a < 0? -a : a;
}
 
int main(){
  int A[SIZE], B[SIZE];
  int i, i_mx = 0, i_mn = 0;
  for(i = 0; i < SIZE; ++i){
    printf("A[%d] = ", i);
    scanf("%d", &A[i]);
  }
  for(i = 0; i < SIZE; ++i){
    if(A[i] > A[i_mx])
      i_mx = i;
    else if(A[i] < A[i_mn])
      i_mn = i;
  }
  printf ("wwwwwwwwwwwwwwwwwww\n");
  getchar ();
  if( MOD(i_mx - i_mn) == 1 ){
    printf("no elements between max and min");
    return 1;
  }
  if(i_mx > i_mn)
    swap(&i_mx, &i_mn);
  for(i = i_mx + 1; i < i_mn; ++i){
    B[i] = A[i];
    printf("%d ", B[i]);
  }
  getch();
  return 0;
}
Вводишь ЧЕРЕЗ Enter КАЖДОЕ число.
Вывод сюда.

Добавлено через 1 минуту
Запускаешь CTRL+F5

Добавлено через 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
#include <stdio.h>
#include <conio.h>
 
#define SIZE 5
 
void swap(int *a, int *b){
  size_t t = *a;
  *a = *b;
  *b = t;
}
 
int MOD(int a){
  return a < 0? -a : a;
}
 
int main(){
  int A[SIZE], B[SIZE];
  int i, i_mx = 0, i_mn = 0;
  for(i = 0; i < SIZE; ++i){
    printf("A[%d] = ", i);
    scanf("%d", &A[i]);
  }
  for(i = 0; i < SIZE; ++i){
    if(A[i] > A[i_mx])
      i_mx = i;
    else if(A[i] < A[i_mn])
      i_mn = i;
  }
  if( MOD(i_mx - i_mn) == 1 ){
    printf("no elements between max and min");
    fflush (stdin);
    getchar ();
    return 1;
  }
  if(i_mx > i_mn)
    swap(&i_mx, &i_mn);
  for(i = i_mx + 1; i < i_mn; ++i){
    B[i] = A[i];
    printf("%d ", B[i]);
  }
  getch();
  return 0;
}
Работает с проблемными числами одинаково хорошо по запуску мышью, CTRL+F5 или из консоли.

Добавлено через 33 секунды
Разницу найди сам.
1
 Аватар для incognito
153 / 145 / 2
Регистрация: 08.04.2010
Сообщений: 1,010
28.05.2011, 10:44  [ТС]
Да, теперь работает и с проблемными числами.

Попробуйте ввести все числа одинаковыми. Мне ничего не выдало.

Вопрос: Что такое консоль и где она находится? Я запускаю только нажатием клавиши DEBUG в окне Visual C++ Express Edition 2005.

Добавлено через 51 секунду
Странно. Кнопка "спасибо" пропала.
0
Freelance
Эксперт С++
 Аватар для asics
2891 / 1826 / 356
Регистрация: 09.09.2010
Сообщений: 3,841
28.05.2011, 13:39
Цитата Сообщение от incognito Посмотреть сообщение
Что такое консоль и где она находится?
То что у тебя на скрине в посте #11, это и есть консоль.
1
быдлокодер
 Аватар для kravam
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
28.05.2011, 15:17
Цитата Сообщение от incognito Посмотреть сообщение
Попробуйте ввести все числа одинаковыми. Мне ничего не выдало.
Оно вроде так и задумано
1
 Аватар для incognito
153 / 145 / 2
Регистрация: 08.04.2010
Сообщений: 1,010
28.05.2011, 15:23  [ТС]
Отлично. Тогда можно считать программу полностью выполненной. Спасибо asics и kravam.

Только вот кнопка "спасибо" пока не работает. Ограничение.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
28.05.2011, 15:23
Помогаю со студенческими работами здесь

Найти max и min элементы массива y и сформировать массив z из элементов массива y, находящихся между max и min y. Записать массив z в обратном порядке
Дан массив Х{80 элементов}. Вычислить {y}_{i}=sin\sqrt{{x}_{i}}+{cos}^{2}{{x}_{1}}^{2} Найти max и min элементы массива y и...

Переписать простые числа из матрицы A в массив B, из массива удалить числа между max и min элементами
переписать простые числа из матрицы целых чисел A в массив B. Из массива B удалить числа, расположенные между максимальным и минимальными...

Элементы между min & max
В массиве найти минимальный и максимальный элемент. В промежутке между ними элементы записать в обратном порядке (включая min &amp; max)

Найти max и min, если min левее max, то среднее арифметическое между ними
#include &lt;iostream.h&gt; #include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include &lt;math.h&gt; void main() { int n,a; int...

Переписать в обратном порядке элементы, расположенные между min и max положительными элементами массива
Ребята помогите решить вот такую задачку. В целочисленном массиве размера N переписать в обратном порядке элементы, расположенные между min...


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

Или воспользуйтесь поиском по форуму:
37
Ответ Создать тему
Новые блоги и статьи
[golang] Угол между стрелками часов
alhaos 12.05.2026
По заданным значениям часа и минуты необходимо определить значение меньшего угла между стрелками аналогового циферблата часов. import "math" func angleClock(hour int, minutes int) float64 { . . .
Debian 13: Установка Lazarus QT5
ВитГо 09.05.2026
Эта инструкция моя компиляция инструкций volvo https:/ / www. cyberforum. ru/ blogs/ 203668/ 10753. html и его же старой инструкции по установке Lazarus с gtk2. . .
Нейросеть на алгоритме "эстафета хвоста" как перспектива.
Hrethgir 06.05.2026
На десерт, когда запущу сервер. Статья тут https:/ / habr. com/ ru/ articles/ 1030914/ . Автор я сам, нейросеть только помогает в вопросах которые мне не известны - не знаю людей которые знали-бы. . .
Асинхронный приём данных из COM-порта
Argus19 01.05.2026
Асинхронный приём данных из COM-порта Купил на aliexpress термопринтер QR701. Он оказался странным. Поключил к Arduino Nano. Был очень удивлён. Наотрез отказывается печатать русские буквы. Чтобы. . .
попытка написать игровой сервер на C++
pyirrlicht 29.04.2026
попытка написать игровой сервер на плюсах с открытым бесконечным миром. возможно получится прикрутить интерпретатор питон для кастомизации игровой логики. что есть на текущий момент:. . .
Контроль уникальности выбранного документа-основания при изменении реквизита
Maks 28.04.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРемонтСпецтехники", разработанного в КА2. Задача: уведомлять пользователя, если указанная заявка (документ-основание). . .
Благородство как наказание
Maks 24.04.2026
У хорошего человека отношения с женщинами всегда складываются трудно. А я человек хороший. Заявляю без тени смущения, потому что гордиться тут нечем. От хорошего человека ждут соответствующего. . .
Валидация и контроль данных табличной части документа перед записью
Maks 22.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в КА2. Задача: контроль и валидация данных табличной части документа перед записью с учетом регламента компании. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru