Реклама на сайте Advertise with us

Задача для гуру СИ

Расширенный поиск по форуму
 
Новая тема Новая тема   
Автор
Поиск в теме:

php

С нами с 09.10.06
Сообщения: 3706
Рейтинг: 2410


Передовик Master-X (16.01.2010)
Ссылка на сообщениеДобавлено: 28/02/10 в 20:07       Ответить с цитатойцитата 

Ребят, помогите плиз написать на Си вот такое:

Дан одномерный массив, нужно
Цитата:
Поменять местами отрицательные элементы массива с положительными. Замену остановить, если «+»-е или «-»-е элементы закончатся. Оставшиеся элементы свое место не изменяют.


Нужно помочь одной знакомой девушке. Ну кто в теме это ж просто icon_smile.gif

Семок отсыплю по максимуму. В гугл не слать, читать маны тоже.

IPhosters.com - любые решения для Вас (виртуалы от $4.99, vps от $11.99, дедики от $95)

0
 



С нами с 05.05.05
Сообщения: 1913
Рейтинг: 1134

Ссылка на сообщениеДобавлено: 01/03/10 в 19:48       Ответить с цитатойцитата 

я не гуру С/С++ и тем более сильно тороплюсь

где вот такой бред smail101.gif на ANSI C, архитектура гавно, пусть ловит саму идею и правит как надо

среда VS 9.0, консольное приложение win32

Код:
#include <stdio.h>
#include <tchar.h>

#define count(arr)  (sizeof(arr) / sizeof(arr[0]))  //count array elements
#define giveArr(arr) arr, count(arr)                //get array pointer and size

const int aSize = 10;

void fillArray(int*, int*, int, char);
void echoArray(int*, int);
void initArray(int*, int);
void reSortArray(int*, int*, int*);

void _tmain(int argc, _TCHAR* argv[])
{
   int positive[aSize], negative[aSize], myArray[aSize] = {10,-2,3,-5,-6,8,-4,5,-5,-62};

   initArray(giveArr(positive));
   initArray(giveArr(negative));

   fillArray(myArray, positive, aSize, 'p');
   fillArray(myArray, negative, aSize, 'n');

   printf("\r\n--------before resorting--------\r\n");
   echoArray(giveArr(myArray));


   reSortArray(myArray, positive, negative);


   printf("\r\n--------after rsorting----------\r\n");
   echoArray(giveArr(myArray));

   getchar();  //press enter to exit
}

void fillArray(int* baseArray, int* subArray, int size, char flag)
{   
   if('p' == flag){
      while(0 < size--){
         if(*baseArray > 0)
         {
            *subArray = *baseArray;
            ++subArray;
         }         
         ++baseArray;
      }
   }
   else{
      while(0 < size--){
         if(*baseArray < 0)
         {
            *subArray = *baseArray;
            ++subArray;
         }
         ++baseArray;
      }
   }
}

void echoArray(int* _array, int size)
{
   printf("\r\n");
   while(0 < size--){
      printf("%d\r\n", *_array++);
   }   
}

void initArray(int* _array, int size)
{
   while(0 < size--){
      *_array++ = 0;
   }   
}

void reSortArray(int* baseArray, int* positive, int* negative)
{
   int p = 0, n = 0;

   for(int i = 0; (i < aSize); i++)
   { 
      if((*(baseArray + i) < 0) && ((*(positive + p)) != 0)){
         *(baseArray + i) = *(positive + p);
         ++p;
      }else
         if((*(baseArray + i) > 0) && ((*(negative + n)) != 0)){
            *(baseArray + i) = *(negative + n);
            ++n;         
         }
   }
}

8
 

php

С нами с 09.10.06
Сообщения: 3706
Рейтинг: 2410


Передовик Master-X (16.01.2010)
Ссылка на сообщениеДобавлено: 01/03/10 в 19:50       Ответить с цитатойцитата 

а хз актуально ли это еще, но +8 поставил icon_smile.gif

IPhosters.com - любые решения для Вас (виртуалы от $4.99, vps от $11.99, дедики от $95)

0
 
Новая тема Новая тема   

Текстовая реклама в форме ответа
Заголовок и до четырех строчек текста
Длина текста до 350 символов
Купить рекламу в этом месте!


Перейти:  



Спонсор раздела Стань спонсором этого раздела!

Реклама на сайте Advertise with us

Опросы

Рецепт новогоднего блюда 2022



Обсудите на форуме обсудить (11)
все опросы »