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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Срочно! Новая задача 
:(
    Опции темы
Sanchez
Дата 19.3.2004, 09:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Дан вещественный массив (отр. и полож. числа). Его сортировка по строкам пузырьком:
Код

for(i=0;i<n;i++){
 for(k=0;k<n;k++){
 for(j=0;j<(n-k);j++){
 if(a[i][j]>a[i][j+1])
 {c=a[i][j]; a[i][j]=a[i][j+1]; a[i][j+1]=c;}}
printf("%d",a[i][j]);}
printf("\n");}

Как поставить условие, чтобы сортировались только положительные числа? А отрицательные игнорировались. Т.е. есть массив А(2, -5, 7, 4…). Т.к. в коде сортировка по строкам, то в каждой строке должно быть (напр. три) числа. В следующей ещё три. Так вот. Нужно, чтобы первая строка этого массива А состояла из 7, 4, 2, а –5 пропускалось, т.е. не входило в отсортированный массив вообще. ???

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


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 891
Регистрация: 8.4.2002
Где: Москва

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



Цитата(Sanchez @ 19.3.2004, 06:47)
Как поставить условие, чтобы сортировались только положительные числа? А отрицательные игнорировались. Т.е. есть массив А(2, -5, 7, 4…). Т.к. в коде сортировка по строкам, то в каждой строке должно быть (напр. три) числа. В следующей ещё три. Так вот. Нужно, чтобы первая строка этого массива А состояла из 7, 4, 2, а –5 пропускалось, т.е. не входило в отсортированный массив вообще. ???

Отсортировать, а потом "сжать", т.е. выкинуть отрицательные числа.
Если массив a отсортирован по неубыванию, то примерно так:
Код

k=0;
  while(a[k]<0){
  k++;
  if(k==n) break;
  }
if(k!=n){
 for(i=0;i<=(n-k);i++)
   m[i]=m[i+k+1];
n-=k; //Теперь можно использовать "обновленный" массив из n элементов
}
 else{
   printf("Все числа отрицательные!\n");
   return;
 }




--------------------
С уважением, А. Фролов.
PM MAIL ICQ   Вверх
Sanchez
Дата 20.3.2004, 10:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Ну не то! Мне нужно, чтобы изменения были внесены в мой код.
PM MAIL   Вверх
Dov
Дата 20.3.2004, 14:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


аСинизатор
***


Профиль
Группа: Завсегдатай
Сообщений: 1721
Регистрация: 10.5.2003
Где: Эрец-Исраэль

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



Код
for (i = 0; i < n; i++)
{
   for (k = 0; k < n; k++)
   {
      for (j = 0; j < n - k - 1; j++)
      {
         if (a[i][j] > a[i][j + 1])
         {
            c = a[i][j];
            a[i][j] = a[i][j + 1];
            a[i][j + 1] = c;
         }
      }
      if(a[i][j] >= 0)
         printf("%d ", a[i][j]);
   }
   printf("\n");
}



--------------------
Тут вечности запах томительный,
И свежие фрукты дешевые, 
А климат у нас – изумительный, 
И только соседи – #уевые. 
                           Игорь Губерман.
PM   Вверх
Sanchez
Дата 20.3.2004, 14:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



ВООООООО!!!!!!! biggrin.gif Как надо!
PM MAIL   Вверх
Язык
Дата 20.3.2004, 15:10 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Цитата

Ну не то! Мне нужно, чтобы изменения были внесены в мой код.


Sanchez,
Ну сдашь ты курсовые. А есть ещё экзамены, работа....
Хотя ещё и не такие дипломы получают.

biggrin.gif biggrin.gif biggrin.gif biggrin.gif

PS: А вам вопросы по решениям устно не задают?

  Вверх
Sanchez
Дата 21.3.2004, 15:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Гы! smile.gif Это я таким способом учусь... Ну не вижу ошибку сразу. А насчет курсовых... Так это ж только лабы... Хотя... bored.gif
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

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

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


 




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


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

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