Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Последовательность чисел 
:(
    Опции темы
denver312
Дата 28.12.2007, 10:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 6.12.2007

Репутация: нет
Всего: нет



Помогите пожалуйста!
Есть программа, которая реализует работу с последовательностью чисел. Вводим 10 чисел - она формирует
их по возростанию. Но нужно ещё, кроме этого составить новую последовательность, выкинув из неё 
самое минимальное и самое максимальное число. Как это сделать?


Код

    #include <stdio.h>
    #include <conio.h>
    #include <stdlib.h>

void main(void)
{
int n[10];
int i;
float min, max;
float*a;
printf ("\n 10:");
scanf("%d" , &n);
a=(float*)calloc(n,sizeof(float));

for(i=0; i<n;i++)
{
scanf("%f" ,&a[i]);
}
min=a[0]; max=a[0];
for(i=1; i<n;i++)
}
if(min>a[i]) min=a[i];
if(max<a[i]) max=a[i];

printf ("min=%.1f" ,min);
printf ("max=%1f" ,max);
getch ();
free (a);
}


    
Заранее спасибо!


 ! 
archimed7592
Пользуйся тэгом code или кнопкой "Код"!


Это сообщение отредактировал(а) archimed7592 - 28.12.2007, 12:46
PM MAIL   Вверх
archimed7592
Дата 28.12.2007, 12:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Архимед
****


Профиль
Группа: Завсегдатай
Сообщений: 2531
Регистрация: 12.6.2004
Где: Moscow

Репутация: 6
Всего: 93



Цитата(denver312 @  28.12.2007,  10:21 Найти цитируемый пост)
Но нужно ещё, кроме этого составить новую последовательность, выкинув из неё 
самое минимальное и самое максимальное число. Как это сделать?

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


--------------------
If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas.
© George Bernard Shaw
PM Jabber   Вверх
denver312
Дата 28.12.2007, 12:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 6.12.2007

Репутация: нет
Всего: нет



Цитата(archimed7592 @ 28.12.2007,  12:48)
Цитата(denver312 @  28.12.2007,  10:21 Найти цитируемый пост)
Но нужно ещё, кроме этого составить новую последовательность, выкинув из неё 
самое минимальное и самое максимальное число. Как это сделать?

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

Спасибо, я знаю, но не знаю как это сделать smile 
PM MAIL   Вверх
archimed7592
Дата 28.12.2007, 13:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Архимед
****


Профиль
Группа: Завсегдатай
Сообщений: 2531
Регистрация: 12.6.2004
Где: Moscow

Репутация: 6
Всего: 93



Цитата(denver312 @  28.12.2007,  12:58 Найти цитируемый пост)
Спасибо, я знаю, но не знаю как это сделать smile  

Если формируешь новую последовательность, то начинать копировать со второго элемента(с индексом 1) и заканчивать предпоследним(с индексом n - 2).
Если хочешь изменить существующую последовательность, то переместить все элементы на 1 "влево", после чего укоротить последовательность на 2.


--------------------
If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas.
© George Bernard Shaw
PM Jabber   Вверх
denver312
Дата 28.12.2007, 14:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 6.12.2007

Репутация: нет
Всего: нет



Цитата(archimed7592 @ 28.12.2007,  13:11)
Цитата(denver312 @  28.12.2007,  12:58 Найти цитируемый пост)
Спасибо, я знаю, но не знаю как это сделать smile  

Если формируешь новую последовательность, то начинать копировать со второго элемента(с индексом 1) и заканчивать предпоследним(с индексом n - 2).
Если хочешь изменить существующую последовательность, то переместить все элементы на 1 "влево", после чего укоротить последовательность на 2.

Если хочешь изменить существующую последовательность, то переместить все элементы на 1 "влево", после чего укоротить последовательность на 2.

А что значит "переместить все элементы на 1 "влево", после чего укоротить последовательность на 2"? Как это понять?
PM MAIL   Вверх
archimed7592
Дата 28.12.2007, 14:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Архимед
****


Профиль
Группа: Завсегдатай
Сообщений: 2531
Регистрация: 12.6.2004
Где: Moscow

Репутация: 6
Всего: 93



Цитата(denver312 @  28.12.2007,  14:29 Найти цитируемый пост)
переместить все элементы на 1 "влево"

Элемент с индексом 1 переместить в ячейку с индексом 0.
Элемент с индексом 2 переместить в ячейку с индексом 1.
Элемент с индексом 3 переместить в ячейку с индексом 2.
...
Элемент с индексом n-2 переместить в ячейку с индексом n-3.
Элемент с индексом n-1 переместить в ячейку с индексом n-2.

Цитата(denver312 @  28.12.2007,  14:29 Найти цитируемый пост)
укоротить последовательность на 2"?

Зависит от того, как ты идентифицируешь длину последовательности в дальнейшем коде.


--------------------
If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas.
© George Bernard Shaw
PM Jabber   Вверх
denver312
Дата 30.12.2007, 12:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 6.12.2007

Репутация: нет
Всего: нет



 Не понимаю как это прописать в коде. Ведь у меня max и min число могут находится в разных местах.  
PM MAIL   Вверх
GrayCardinal
Дата 30.12.2007, 13:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Фигасе
****


Профиль
Группа: Завсегдатай
Сообщений: 3039
Регистрация: 9.11.2003

Репутация: нет
Всего: 58



Код

int c = 0;
float *b; 

for (i = 0; i < n; ++i) {
 if (a[i] == min) continue;
 if (a[i] == max) continue;
 b[c] = a[i];
 ++c;
}

Да и b надо инитить как a ...

Добавлено через 5 минут и 10 секунд
Да, ещё
int n[10];
наверно всё-таки просто int n ?


--------------------
PM MAIL WWW   Вверх
denver312
Дата 30.12.2007, 13:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 6.12.2007

Репутация: нет
Всего: нет



Код

    #include <stdio.h>
    #include <conio.h>
    #include <stdlib.h>
    #define g 10
void main(void)
{
int n[10];
int i;
int c=0;
float min, max;
float*a;
printf ("\n Введите элемент массива неболее 10:");
scanf("%d" , &n);
a=(float*)calloc(g,sizeof(float));

for(i=0; i<g;i++)
{
scanf("%f" ,&a[i]);
}
min=a[0]; max=a[0];
for(i=1; i<g;i++)
}
if(min>a[i]) min=a[i];
if(max<a[i]) max=a[i];

printf (" Минимальный элемент min=%.1f" ,min);
printf (" Максимальный элемент max=%1f" ,max);
for (i=0;i<n;i++)

if(a[i]==min);
if(a[i]==max);
a[c]=a[i];
c++;
printf (" Новая последовательность")
getch ();
free (a);
}


Ничего не получается


 ! 
archimed7592
Автор проигнорировал мою рекомендацию пользоваться тегом code и в вознаграждение получает читательский билет на выходные.
С наступающим!


Это сообщение отредактировал(а) archimed7592 - 30.12.2007, 17:51
PM MAIL   Вверх
GrayCardinal
Дата 30.12.2007, 13:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Фигасе
****


Профиль
Группа: Завсегдатай
Сообщений: 3039
Регистрация: 9.11.2003

Репутация: нет
Всего: 58



denver312
Ну, значит бегом с чайком к тому кто код писал smile


--------------------
PM MAIL WWW   Вверх
JackYF
Дата 30.12.2007, 14:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


полуавантюрист
****


Профиль
Группа: Участник
Сообщений: 5814
Регистрация: 28.8.2004
Где: страна тысячи озё р

Репутация: 6
Всего: 162



denver312, пользуйся тегом "код", пожалуйста.


--------------------
Пожаловаться на меня как модератора можно здесь.
PM MAIL Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0510 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.