Форум программистов, компьютерный форум CyberForum.ru

Регулярные циклы в С/С++ - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.70
PodOnoK
16 / 13 / 0
Регистрация: 10.01.2010
Сообщений: 252
23.03.2010, 17:41     Регулярные циклы в С/С++ #1
Ребята, помогите решить задачку на С/С++, очень нужно

Располижить в массиве Pol сначала положительные, а потом отрицательные элементы выходящего массива. Дан массив А(9)

Добавлено через 31 секунду
Буду очень благодарен.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.03.2010, 17:41     Регулярные циклы в С/С++
Посмотрите здесь:

C++ регулярные выражения
[C++] Регулярные выражения C++
С++ и регулярные выражения C++
C++ Регулярные выражения в с++
C++ Регулярные выражения
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Cepera
 Аватар для Cepera
52 / 52 / 1
Регистрация: 09.03.2009
Сообщений: 178
24.03.2010, 12:45     Регулярные циклы в С/С++ #21
Цитата Сообщение от PodOnoK Посмотреть сообщение
Чтоб таблицу рисать такими символами ╠ и т.д.
Так:
C++
1
cout<<"\а_здесь_ascii_код";
т.е. код экранируется обратной косой чертой
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Genius Ignat
1233 / 771 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
24.03.2010, 13:04     Регулярные циклы в С/С++ #22
Я не люблю потеть над алгоритмами поэтому они порой бывают не очень быстрыми но более
проверенные.
Может кто и за это спасибо скажет.
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
44
45
46
47
48
49
50
51
#include <stdio.h>
#include <conio.h>
 
#define size 10
int main(){
 
int mas_Out[size] = {7,1,-2,3,-4,5,6,-7,8,9};
int mas_In[size]  = {0};
 
int i,j = 0;
int tmp_j = 0;
 
 
//Решние в 4 цикла.
for(i  = 0  ; i < size ; i++){
 
   for(j = tmp_j ; j < size ; j++){
        //выходим из цикла, и запоминаем индекс положительного
        if(mas_Out[j]>=0){
            mas_In[i] = mas_Out[j];  
            tmp_j = j+1;   //сохраняем для для начала рассморта следующего элемента
            j = size+20;   //просто для выхода из цикла.
        }
    
}
 
if(j==size)break; //что бы запомнить индекс i где находиться последний элемент >=0
}
 
tmp_j = 0;
for(;i<size;i++){
    for(j=tmp_j;j<size;j++){
    if(mas_Out[j]<0){
            mas_In[i] = mas_Out[j];  
            tmp_j = j+1;   //сохраняем для для начала рассморта следующего элемента
            j = size+20;   //просто для выхода из цикла.
        }
 
    }
 
}
 
 
for(i=0;i<size;i++){  printf("%d ",mas_In[i]);  }
printf("\n");
 
 
 
 
return 0;
}
Добавлено через 1 минуту
И такие алгоритмы порой трудно понять на трезвую голову.

Добавлено через 12 минут
//......
siger
13 / 13 / 1
Регистрация: 27.02.2010
Сообщений: 46
24.03.2010, 13:18     Регулярные циклы в С/С++ #23
R0mm, только нужно
C++
1
2
3
4
5
6
7
8
9
10
for (int i=0, j=NUM-1, int k=0; k<NUM; k++) {
     if (A[k] >= 0) {
          Pol[i] = A[k];
          i++;
     }
     else {
          Pol[j] = A[k];
          j--;
     }
}
Genius Ignat
1233 / 771 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
24.03.2010, 13:34     Регулярные циклы в С/С++ #24
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>
#include <conio.h>
 
#define size 10
int main(){
 
int mas_Out[size] = {7,1,-2,3,-4,5,6,-7,8,9};
int mas_In[size]  = {0};
 
int i,k,j = 0;
 
 
 
for (i=0, j=size-1,  k=0; k<size; k++) {
     if (mas_Out[k] >= 0) {
          mas_In[i] =  mas_Out[k];
          i++;
     }
     else {
          mas_In[j] =  mas_Out[k];
          j--;
     }
}
 
for(i=0;i<size;i++){  printf("%d ",mas_In[i]);  }
printf("\n");
 
 
return 0;
}
Я знал что Romm был очень близок к решению.
Думал он сам исправит.
PodOnoK
16 / 13 / 0
Регистрация: 10.01.2010
Сообщений: 252
24.03.2010, 14:08  [ТС]     Регулярные циклы в С/С++ #25
Всем спс за помощь, я тут сам вчера накатал программу, преподавателю понравилось.
Вот код:
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
#include <iostream.h>
#include <conio.h>
#include <stdio.h>
 
void main()
{
 int a[9],pol[9];
 clrscr();
 for (int k=0; k<9; k++)
 {
  cout<<"Vvedite "<<k+1<<"-yi element: ";
  cin>>a[k];
 }
 cout<<endl<<"ЙННННННННЛННННННННННННННННННННННННННННН»"; int j(-1);
 cout<<endl<<"є Massiv є           Elementi          є";
 cout<<endl<<"ЗДДДДДДДДЧДДДДДДДДДДДДДДДДДДДДДДДДДДДДД¶";
 cout<<endl<<"є  A[9]  є";
 for (k=0; k<9; k++) printf(" %2i",a[k]);
 cout<<"  є"; cout<<endl<<"ЗДДДДДДДДЧДДДДДДДДДДДДДДДДДДДДДДДДДДДДД¶";
 for (k=0; k<9; k++)
  if (a[k]>0) {
           j++; pol[j]=a[k];
          }
 j++; cout<<endl<<"є Pol["<<j<<"] є";
 if (j>0) {
       for (k=0; k<j; k++) printf(" %2i",pol[k]);
      }
  else cout<<"            Pusto          ";
 if (j!=0) for (k=0; k<(27-(j*3)); k++) cout<<" ";
 cout<<"  є"; cout<<endl<<"ЗДДДДДДДДЧДДДДДДДДДДДДДДДДДДДДДДДДДДДДД¶"; int i(-1);
 for (k=0; k<9; k++)
  if (a[k]<0) {
           i++; pol[i]=a[k];
          }
 i++; cout<<endl<<"є Pol["<<i<<"] є";
 if (i!=0) {
        for (k=0; k<i; k++) printf(" %2i",pol[k]);
       }
  else cout<<"            Pusto          ";
 if (i!=0) for (k=0; k<(27-(i*3)); k++) cout<<" ";
 cout<<"  є"; cout<<endl<<"ИННННННННКНННННННННННННННННННННННННННННј"; getch();
}
Вот как мне кажется, с такой простой задачей проблему сделали)) Всем спс за помощь.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.03.2010, 21:56     Регулярные циклы в С/С++
Еще ссылки по теме:

C++ Регулярные выражения
Регулярные выражения в g++ C++
C++ Регулярные выражения

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

Или воспользуйтесь поиском по форуму:
R0mm
Псевдо программист
 Аватар для R0mm
192 / 113 / 15
Регистрация: 19.09.2009
Сообщений: 303
24.03.2010, 21:56     Регулярные циклы в С/С++ #26
Genius Ignat, тьфу.. конечно же там A[k] !) Спросони невнимателен был

Добавлено через 56 секунд
siger, дада) спасибо. так и задумывалось
Yandex
Объявления
24.03.2010, 21:56     Регулярные циклы в С/С++
Ответ Создать тему
Опции темы

Текущее время: 01:34. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru