Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
weightless
0 / 0 / 0
Регистрация: 12.02.2013
Сообщений: 103
#1

Поменять местами четные и нечетные символы слова - C++

17.02.2013, 20:58. Просмотров 949. Ответов 7
Метки нет (Все метки)

Как поменять местами четные и нечетные символы слова? Заранее спс!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.02.2013, 20:58
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Поменять местами четные и нечетные символы слова (C++):

Поменять местами четные и нечетные по порядку следования слова - C++
Дано предложение, слова в нем разделены пробелом, поменять местами четные и нечетные по порядку следования слова. Добавлено через 35...

Поменять местами четные и нечетные по порядку следования слова - C++
Дано предложение, слова в нем разделены пробелом, поменять местами четные и нечетные по порядку следования слова. Напишите пожалуйста...

Поменять местами четные и нечетные биты - C++
прошу помощи, код ниже, на выходе получаю 01011010 в чем ошибка? #include<iostream> #include<string> #include<cstring> ...

Найти четные и нечетные элементы одномерного массива и поменять их местами - C++
найти четные и нечетные элементы одномерного массива и поменять их местами

Найти четные и нечетные элементы одномерного массива и поменять их местами - C++
Найти четные и нечетные элементы одномерного массива и поменять их местами.

Создать двумерный массив и поменять в нем местами четные и нечетные элементы - C++
написать двумерный массив и поменять в нем местами четные и нечетные элементы

7
Asdprom
22 / 21 / 1
Регистрация: 19.12.2011
Сообщений: 75
17.02.2013, 21:21 #2
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
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 <iostream>
 
using namespace std;
int main()
{
    //setlocale ( LC_ALL, "rus" );
    char word [ 15 ];
    char result [ 15 ];
    int len = 0;
    int i;
    word [ 0 ] = '\0';
    result [ 0 ] = '\0';
 
    cin>>word;
    len = strlen ( word );
    word [ len ] = '\0';
 
    for ( i = 0; i < len; i++ )
    {
        result [ i ] = word [ i + 1 ];
        i ++;
        result [ i ] = word [ i - 1 ];
    }
    if ( ( len % 2 ) != 0 ) result [ len - 1 ] = word [ len - 1 ]; // если количество символов в слове не четно, то
                                            // последний символ добавляем в конец строки без перемены места
    result [ len ] = '\0';
    cout<<result<<endl;
    system ( "pause" );
    return 0;
}
1
Olivеr
412 / 408 / 13
Регистрация: 06.10.2011
Сообщений: 832
17.02.2013, 21:22 #3
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <string>
using namespace std;
 
int main()
{
    string str;
    getline(cin,str);
    string::size_type str_len = str.size();
    string::size_type i = 0;
 
    while (i<str_len-1)
    {
        swap(str[i],str[i+1]);
        i+=2;
    }
    cout <<str<< endl;
    return 0;
}
1
HackSign
36 / 36 / 14
Регистрация: 23.11.2006
Сообщений: 138
17.02.2013, 21:37 #4
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
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
#include <stdio.h>
#include <iostream.h>
#include <conio.h>
#include <stdlib.h>
 
int main() 
 { 
  char ch[10]; 
  char ch2[10]; 
  char r, s;
  int i,n,m;
  cout<<"Vvedite slovo: "; 
   
  cin>>ch; 
  cout<<"\n";  
  n=strlen(ch); 
  i=1;  
  while (i!=n)
  { 
   r=ch[i]; 
   s=ch[i+1]; 
   ch[i]=s;
   ch[i+1]=r; 
   i=i+2;
   } 
  cout<<"Itog: "<<ch<<"\n"; 
  getch(); 
  return 0;  
  }
1
weightless
0 / 0 / 0
Регистрация: 12.02.2013
Сообщений: 103
18.02.2013, 22:57  [ТС] #5
У меня есть задание:
В командной строке программе передаются два числа. Из файла с текстом своей программы выполнить чтение соответствующих строк, найти в них самое длинное слово и поменять местами четные и нечетные символы этого слова.

Как выполнить замену для переменных maxlen1, maxlen1 ?
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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
#include <iostream.h>
#include<stdlib.h>
#pragma hdrstop
#include <math.h>
#include <tchar.h>
#include<stdio.h>
#include<conio.h>
#pragma argsused
using namespace std;
 
    
void consol (int *pa, int *pb, char* argv[]) {
    *pa = atof(argv[1]);
    *pb = atof(argv[2]);
    }
int main(int argc, char *argv[]) {
    system("chcp 1251");
    int a,b,*n2,*n1, curlen1 = 0, maxlen1 = 0, i1, t1, curlen2 = 0, maxlen2 = 0, i2, t2;
    consol(&a, &b, argv);
    char text1[80][40];
    char text2[80][40];
    FILE *fp=fopen("prg.txt","rb");
    printf("Введите номера двух строк\n",n1,n2);
    scanf("%d","%d",&n1,&n2);
    for(t1=0;t1<*n1;t1++){
      gets(text1[t1]);
      if (!text1[t1][0])break;
    }
    for(i1=0;i1<80;i1++) {
   
     if(text1[i1]==' '|| text1[i1]=='\0'){
         if(curlen1>maxlen1){
           maxlen1 = curlen1;
         }
         if(text1[i1]=='\0')break;
         curlen1 = 0;
      }
      else curlen1++;
      return 1;
   }
    for(t2=0;t2<*n2;t2++){
      gets(text2[t2]);
      if (!text2[t2][0])break;
    }
    for(i2=0;i2<80;i2++)
   {
     if(text2[i2]==' '|| text2[i2]=='\0'){
         if(curlen2>maxlen2){
           maxlen2 = curlen2;
         }
         if(text2[i2]=='\0')break;
         curlen2 = 0;
      }
      else curlen2++;
      return 1;
   }
 
    printf("\nСамое большое слово первой введенной строки",&maxlen1);
    printf("\nСамое большое слово первой введенной строки",&maxlen2);
    fclose(fp);
    delete text1;
    delete text2;
    getch ();
    return 0;
}
Добавлено через 5 часов 28 минут
так как перевести maxlen в чаровский массив?
0
Asdprom
22 / 21 / 1
Регистрация: 19.12.2011
Сообщений: 75
21.02.2013, 10:17 #6
itoa () - преобразование int в char []
1
Croessmah
21.02.2013, 12:22
  #7

Не по теме:

Цитата Сообщение от Asdprom Посмотреть сообщение
itoa () - преобразование int в char []
не стандартная функция, так что может отсутствовать.

1
gray_fox
What a waste!
1522 / 1227 / 70
Регистрация: 21.04.2012
Сообщений: 2,565
Завершенные тесты: 3
21.02.2013, 12:53 #8
Цитата Сообщение от weightless Посмотреть сообщение
как перевести maxlen в чаровский массив?
sprintf (или лучше snprintf, если есть, что бы наверняка.
1
21.02.2013, 12:53
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.02.2013, 12:53
Привет! Вот еще темы с ответами:

Дано целое число поменять в нем местами четные и нечетные цифры - C++
К примеру число 10110101 должно выглядеть так 01111010 не могу сообразить как замену сделать #include&lt;iostream&gt; using namespace...

Составить алгоритм меняющий местами четные и нечетные по порядку слова в тексте - C++
составить алгоритм меняющий местами четные и нечетные по порядку слова в тексте

Поменять местами символы и слова - C++
Помогите, пожалуйста! Есть строчка &quot;abc dcf ghi&quot;. Написать функцию, которая меняет местами символы (то есть получится &quot;cba fcd ihg&quot;)....

Вывести на экран в первой строке нечетные символы, во второй четные символы исходной строки - C++
Помогите написать 3 программы. (на С или С++) 1. Вывести на экран в первой строке нечетные символы, во второй четные символы исходной...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.