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

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

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

Поменять местами слова, "равноудаленные" от концов строки - C++

11.07.2014, 13:54. Просмотров 405. Ответов 4
Метки нет (Все метки)

Помогите пожалуйста с задачкой.

Задача:

Поменять местами слова, "равноудаленные" от концов строки, найти первое цифровое слово и возвести его значение в квадрат. Ввод строки и вывод слов написал, но не могу придумать как дальше делать.

Последнее слово не выводится , т.к нету пробела ( если его принудительно не вводить) как сделать что бы в конце строки всегда был пробел?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <stdio.h>
#include <conio.h>
#include <cstring> 
int main(){
    char str[255];
    char slovo[100][100];
    int k=0,j=0,i;
 
 
    printf ("Vvedite stroku:" ); gets(str);
 
 
    for (i=0; str[i]!='\0'; i++){
    if( str[i]!= ' ') { slovo [k][j] = str[i] ; j++;}
    else {
        printf ("\nslovo[%d]:%s",k,slovo[k]);
        
        k++;j=0;}
    }
    getch();
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.07.2014, 13:54     Поменять местами слова, "равноудаленные" от концов строки
Посмотрите здесь:

Файловый ввод/вывод: в строке поменять местами слова, разделенные союзом "и" - C++
Задача такая : для заданной строки S поменять местами слова, разделенные союзом &quot;и&quot;. Текст нужно считывать с заранее созданного файла...

Вывести текст файла, заменив цифры от 0 до 9 на слова "ноль", "один"."девять", начиная каждое предложение с новой строки - C++
Написать программу, которая считывает текст из файла и выводит его на экран, заменив цифры от 0 до 9 на слова &quot;ноль&quot;, &quot;один&quot;...&quot;девять&quot;,...

Определить длину каждого слова строки, и если она четная, то вставить в середину слова "aa", иначе "а" - C++
Помогите с программой, начал делать, ерунда какая то выходит.... #include&lt;iostream.h&gt; #include&lt;stdlib.h&gt; #include&lt;conio.h&gt; ...

Из слова "яблоко" путем склеек и вырезок его букв получить слова "блок" и "око" - C++
Самым самым самым простым способом.

Однонаправленный список типа "Очередь". Поменять элементы местами - C++
Всем привет. Есть такая вот задачка: Поменять местами наибольший среди отрицательных и наименьший среди положительных элементов...

Даны три слова - "мама", "мыла", "раму". Задача - напечатать всевозможные варианты построения слов - C++
Я записал код, однако эту часть надо автоматизировать, поможете? КОД: } #include &lt;iostream&gt; using namespace std; int main()...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
nmcf
5276 / 4596 / 1541
Регистрация: 14.04.2014
Сообщений: 18,266
11.07.2014, 20:09     Поменять местами слова, "равноудаленные" от концов строки #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
31
32
33
34
35
36
37
38
#include "stdafx.h"
#include <iostream>
#include <cstring>
 
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{
    char str[255], slovo[100][100], *s;
    int scount = 0, n;
 
    printf("Vvedite stroku: "); gets(str);
 
    s = strtok(str, " ");
    while(s != NULL && scount <= 100)
    {
        strcpy(slovo[scount++], s);
        s = strtok(NULL, " ");
    }
 
    for(int i = 0; i < scount / 2; i++)
    {
        swap(slovo[i], slovo[scount - i - 1]);
    }
 
    for(int i = 0; i < scount; i++) printf("%s ", slovo[i]);
    printf("\n");
    for(int i = 0; i < scount; i++)
        if(sscanf(slovo[i], "%d", &n) == 1)
        {
            printf("Pervoe chislo: %d", n);
            break;
        }
    printf("\n");
 
    system("pause");
    return 0;
}
psevdomak
1 / 1 / 0
Регистрация: 11.07.2014
Сообщений: 27
12.07.2014, 06:00  [ТС]     Поменять местами слова, "равноудаленные" от концов строки #3
Спасибо большое! А как сделать что бы он не считал число со словом, например 5d, а считал просто число 123?
nmcf
5276 / 4596 / 1541
Регистрация: 14.04.2014
Сообщений: 18,266
12.07.2014, 11:36     Поменять местами слова, "равноудаленные" от концов строки #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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#include "stdafx.h"
#include <iostream>
#include <cstdlib>
#include <cstring>
 
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{
    char str[255], slovo[100][100], *s;
    int scount = 0;
    long n;
    bool found = false;
 
    printf("Vvedite stroku: "); gets(str);
 
    s = strtok(str, " ");
    while(s != NULL && scount <= 100)
    {
        strcpy(slovo[scount++], s);
        s = strtok(NULL, " ");
    }
 
    for(int i = 0; i < scount / 2; i++)
    {
        swap(slovo[i], slovo[scount - i - 1]);
    }
 
    for(int i = 0; i < scount; i++) printf("%s ", slovo[i]);
    printf("\n");
    for(int i = 0; i < scount; i++)
    {
        s = slovo[i];
        n = strtol(slovo[i], &s, 10);
        if(s[0] == '\0')
        {
            printf("Pervoe chislo: %ld", n);
            found = true;
            break;
        }
    }
    if(!found) printf("Chisel net.");
    printf("\n");
 
    system("pause");
    return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.07.2014, 16:12     Поменять местами слова, "равноудаленные" от концов строки
Еще ссылки по теме:

Из слова вертикаль путем "вырезок" и "склеек" его букв получить слова тир и ветка - C++
Из слова вертикаль путем &quot;вырезок&quot; и &quot;склеек&quot; его букв получить слова тир и ветка.

Строки. Поменять местами слова - C++
Привет, форум. Интересует решение такого задания: поменять слова в строке по принципу &quot;первое со вторым, третье с четвертым и т.д.&quot; Долго...

Поменять местами слова строки - C++
Ребят, нужно создать функцию которая меняет местами слова! пример: вводим строку: привет мир получаем:

Поменять знак " $ " на " * " к первому вхождению символа " ? " - C++
Помогите, пожалуйста, не пойму как написать чтобы меняло знак &quot; $ &quot; на &quot; * &quot; к первому вхождения символа &quot; ? &quot; . У меня меняется все не...

Все слова, не содержащие "bc" и заканчивающиеся на "ad" заменить на "!" - C++
В чем ошибка? //Все слова, не содержащие &quot;bc&quot; и заканчивающиеся на &quot;ad&quot; заменить на &quot;!&quot; #include &lt;iostream&gt; #include &lt;string&gt; ...

Класс "Строка" содержащий метод, который меняет местами первый и последний символы строки - C++
Написать программу чтобы первый и последний символы строки менялись местами. На экран выводился оригинал и измененная строка. Все это с...


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

Или воспользуйтесь поиском по форуму:
psevdomak
1 / 1 / 0
Регистрация: 11.07.2014
Сообщений: 27
12.07.2014, 16:12  [ТС]     Поменять местами слова, "равноудаленные" от концов строки #5
Спасибо!
Yandex
Объявления
12.07.2014, 16:12     Поменять местами слова, "равноудаленные" от концов строки
Ответ Создать тему
Опции темы

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