0 / 0 / 0
Регистрация: 29.05.2009
Сообщений: 37

Если первое и последнее его слова имеют одинаковую длину, поменять их местами

10.06.2009, 17:31. Показов 1758. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Дано предложение. Если первое и последнее его слова имеют одинаковую длину, поменять их местами. В противном случае оставить текст без изменения.

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.h>
#include <conio.h>
#include "string.h"
void main()
{
int i,n;
char a[100][20];
char buf[1][20];
cout<<"ckolko bi vi xoteli vvesti slov"<<endl;
cin>>n;
cout<<"vvedite text, sostoyachiy iz "<<n<<" slov"<<endl;
for(i=1;i<n+1;i++)
  {cin>>a[i];}
if (sizeof(a[1])==sizeof(a[n]))
 {buf[1]=a[1];
 a[1]=a[n];
 a[n]=buf[1];}
cout<<"vivod texta"<<endl;
for(i=1;i<6;i++)
  {cout<<a[i]<<" "; }
getch();
}
Добавлено через 47 секунд
в программе есть ошибка, только не знаю как исправить
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
10.06.2009, 17:31
Ответы с готовыми решениями:

Поменять местами в строке первое и последнее слова
Помогите пожалуйста: Поменять местами в строке первое и последнее слова. Считать, что слова отделены друг от друга пробелом. ...

Поменять местами первое и последнее слова в строке
Поменять местами в строке первое и последнее слова . Считать , что слова отделены друг от друга пробелом

В строках поменять местами первое и последнее слова
Ребята, помогите пожалуйста с задачами... язык С++ 1.Ввести 2 строки. В результате выполнения программы в обоих строках поменять местами...

5
692 / 383 / 51
Регистрация: 22.01.2009
Сообщений: 1,135
10.06.2009, 17:51
Вместо sizeof надо strlen.
0
0 / 0 / 0
Регистрация: 29.05.2009
Сообщений: 37
10.06.2009, 17:53  [ТС]
нет, все равно выдает ошибку!
0
 Аватар для Gravity
577 / 571 / 65
Регистрация: 29.01.2009
Сообщений: 1,274
10.06.2009, 18:02
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Не код, а сплошной глюк. Вот подправил
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
#include <iostream.h>
#include <string.h>
#include <conio.h>
 
int main()
{
    int i, n;
    char a[100][20];
    char buf[1][20];
    cout << "ckolko bi vi xoteli vvesti slov" << endl;
    cin >> n;
    cout << "vvedite text, sostoyachiy iz " << n << " slov" << endl;
    for(i = 0; i < n; i++)
        cin >> a[i];
    if (strlen(a[0]) == strlen(a[n-1])) {
        strcpy(buf[0], a[0]);
        strcpy(a[0], a[n-1]);
        strcpy(a[n-1], buf[0]);
    }
    cout<<"vivod texta"<<endl;
    for(i=0; i < n; i++)
        cout << a[i] << " ";
    getch();
    return 0;
}
1
0 / 0 / 0
Регистрация: 29.05.2009
Сообщений: 37
10.06.2009, 18:06  [ТС]
Большое спасибо!!!
0
Заказ софта
 Аватар для Search..
343 / 188 / 21
Регистрация: 26.05.2009
Сообщений: 863
11.06.2009, 04:03
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Вот самое нормальное решение. Нормальная прога ведь не станет запрашивать ввести количество слов, которые ты хочешь ввести (ведь правда ?):

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 <stdio.h>
#include <string.h>
#include <ctype.h>
 
int str_minmax(char text[])
{
    int nsp = 0, ns = 0, dsn;
    for(int s = 0; s < strlen(text); s++) {
        if(isspace(text[s])) { nsp++; }
    }
 
    if(nsp < 2) { 
        fprintf(stderr, "Error! Minimal count words is two.\n"); 
        return -1; 
    }
 
    const char delimiters[] = " \t\n~`@#$%^&*()_-+={[]}|\\'\";:/?.>,<" ;
    char *one, two[1000] = " ", *three, *word;
 
    word = strtok(text, delimiters);
        for(int shs = 0; (shs < nsp)&&(word != 0); shs++) { dsn = shs;
            if(shs == 0) { one = strdup(word); }
            else if(shs == nsp-1) { three = strdup(word); shs++; }
            else if((shs > 0)&&(shs < nsp)&&(shs == dsn)) {
                strcat(two, strdup(word)); strcat(two, " "); 
            }
            word = strtok(NULL, delimiters);
        }
 
        if(strlen(one) == strlen(three)) { 
            strcat(two, one); strcat(three, two); 
            printf("Completed: %s\n", three);
        }
        else { fputs("The first and last words do not match!\n", stdout); }
 
        return 0;
}
 
int main(int argc, char * argv [])
{
    char line[1024] = " ";
    fputs("Write string: ", stdout);
    fgets(line, sizeof(line), stdin);
    str_minmax(line);
 
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
11.06.2009, 04:03
Помогаю со студенческими работами здесь

Поменять местами первое и последнее слово, найти слова-палиндромы
Объектно-ориентированное программирование. Разработать программу. В заданном тексте (слова разделяются пробелами) по требованию...

Дано предложение. Поменять местами его первое и последнее слово.
Дано предложение. Поменять местами его первое и последнее слово.

В каждой строке текстового файла поменять местами первое и последнее слова
В каждой строке текстового файла поменять местами первое и последнее слова. Очень нужна ваша помощь!!! Вот есть пример того, что...

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

Поменять местами первое и последнее слово в предложении
Собственно, задачка вроде легкая, но у меня нету никаких идей. С клавиатуры вводится символьная строка, надо поменять местами первое и...


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

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

Новые блоги и статьи
Пишем адаптер для локального хранилища S3 на C#
stackOverflow 16.07.2025
Разработка современных приложений часто требует интеграции с объектными хранилищами, и Amazon S3 стал де-факто стандартом в этой области. Однако работа с облачными сервисами в процессе разработки. . .
Старые замки
kumehtar 16.07.2025
Смотрел тут фото, попались пара старых замков. И сразу бросилось в глаза из отличие. Например: Замок Бистон, в англии. Разрушенное сооружение. Но - не испорченное людьми, по крайней мере - на. . .
Java и Eclipse Store: Сверхбыстрые приложения с In-Memory DB
Javaican 15.07.2025
Eclipse Store — это микро-движок персистентности для Java, который позволяет хранить и извлекать нативные Java-объекты без необходимости преобразования данных или использования объектно-реляционного. . .
EmBitz, создание проекта, отладка, прошивка
locm 15.07.2025
Создание проекта для Blue Pill (STM32F103C8T6) в EmBitz 2. 30, написания кода blink, запуск отладки в ОЗУ, заливка релизной прошивки во flash используя ST-Link и др. . . .
Трассировка корутин Kotlin с OpenTelemetry
mobDevWorks 14.07.2025
Асинхронное программирование меняет правила игры, особенно когда речь заходит о трассировке операций. В Kotlin с его корутинами эта проблема приобретает особый оттенок, который я хотел бы детально. . .
Облачные приложения на Rust: руководство по архитектуре микросервисов
golander 13.07.2025
Когда я впервые взялся за проектирование облачной платформы для одного из наших клиентов, выбор стоял между привычными Go и Java. Но после нескольких месяцев разработки микросервисной системы,. . .
Как Node.js выполняет асинхронные операции
Reangularity 13.07.2025
Каждый раз, когда я рассказываю про Node. js, возникает один и тот же вопрос: "Как эта штука может быть быстрой, если JavaScript — однопоточный язык?" И это действительно кажется парадоксом. Ведь в. . .
Как писать чистый, тестируемый и качественный код на Python
py-thonny 12.07.2025
Помню свой первый проект на Python. Работал тогда быстро, грязно, лишь бы работало. Код был похож на запутанный клубок - переменные по одной букве, функции на 200 строк, комментарии отсутствовали как. . .
Blazor и контроллер сервопривода IoT Meadow Maple
Wired 11.07.2025
Я решил разобраться, как можно соединить современные веб-технологии с миром "железа". Интересная комбинация получилась из Blazor в качестве веб-интерфейса и микроконтроллера Meadow с его веб-сервером. . .
Генерация OpenQASM из кода Q#
EggHead 10.07.2025
Летом 2024-го я начал эксперименты с библиотекой Q# Bridge, и знаете что? Она оказалась просто находкой для тех, кто работает на стыке разных квантовых экосистем. Основная фишка этой библиотеки -. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru