Модераторы: Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [C++] Задачка на преобразование строк, перестановка слов 
:(
    Опции темы
ruford
Дата 16.4.2012, 07:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 20.7.2006

Репутация: нет
Всего: нет



Задача, требующая решения:"Дан текстовый файл. Записать его в новый файл, меняя местами каждые два соседних слова. Имена входного и выходного файлов задаются в командной строке".
PM MAIL   Вверх
Riviero
Дата 16.4.2012, 08:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 136
Регистрация: 25.3.2010

Репутация: 1
Всего: 3



А где вопрос?
PM MAIL   Вверх
ruford
Дата 16.4.2012, 08:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 20.7.2006

Репутация: нет
Всего: нет



Решение задачи?
PM MAIL   Вверх
Riviero
Дата 16.4.2012, 09:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 136
Регистрация: 25.3.2010

Репутация: 1
Всего: 3



Вообще вам сюда http://forum.vingrad.ru/Vingrad-help-center.html 

Код

#pragma hdrstop
#include <string.h>
#include <fstream.h>
#include <vcl.h>
 #include <iostream>
//---------------------------------------------------------------------------

#pragma argsused
int main(int argc, char* argv[])
{
    const int len = 100;
    char line[len];
    SetConsoleOutputCP(1251); // Устанановка русского шрифта (Lucida Console)
    ifstream fin("text.txt", ios::in | ios::nocreate);
    if (!fin) {
        cout << "Ошибка открытия файла" << endl;
        return 1;
    }
    while (fin.getline(line, len)){
        char *p = line;
        char *words[len];
        int len2;
        len2 = strlen(line);
        int wCount = 0; // Количество слов в строке
        for (int i = 0; i < len2; i++){
            char *word;
            word = (char *)malloc(len); // выделяем память под слово
            while (isspace(p[i]) || ispunct(p[i]))  // пропускаем пробелы и знаки препинания
                i++;
            int k = 0;
            while (isalpha(p[i])){
                word[k] = p[i];
                i++;
                k++;
            }
            word[k] = 0x0;
            words[wCount] = word;
            wCount++;
        }
        for (int i = 0; i < wCount; i++) {
            int index;
            if (i == wCount - 1 && ((i+1) % 2 != 0))
                index = i;
            else
                index = i%2 == 0? i +1: i -1;
            cout << words[index] << " ";    // выводим слова
        }
        cout << "\n" ;
    }

    char b;
    cin >> b;
}

PM MAIL   Вверх
ruford
Дата 16.4.2012, 10:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 20.7.2006

Репутация: нет
Всего: нет



Спасибо , помогло!
PM MAIL   Вверх
JackYF
Дата 17.4.2012, 19:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


полуавантюрист
****


Профиль
Группа: Участник
Сообщений: 5814
Регистрация: 28.8.2004
Где: страна тысячи озё р

Репутация: 2
Всего: 162



Для домашних заданий, курсовых, существует "Центр Помощи".

Тема перенесена! 


--------------------
Пожаловаться на меня как модератора можно здесь.
PM MAIL Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Центр помощи"

ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Несоблюдение правил может повлечь за собой самые строгие меры от закрытия/удаления темы до бана пользователя!


  • Название темы должно отражать её суть! (Не следует добавлять туда слова "помогите", "срочно" и т.п.)
  • При создании темы, первым делом в квадратных скобках укажите область, из которой исходит вопрос (язык, дисциплина, диплом). Пример: [C++].
  • В названии темы не нужно указывать происхождение задачи (например "школьная задача", "задача из учебника" и т.п.), не нужно указывать ее сложность ("простая задача", "легкий вопрос" и т.п.). Все это можно писать в тексте самой задачи.
  • Если Вы ошиблись при вводе названия темы, отправьте письмо любому из модераторов раздела (через личные сообщения или report).
  • Для подсветки кода пользуйтесь тегами [code][/code] (выделяйте код и нажимаете на кнопку "Код"). Не забывайте выбирать при этом соответствующий язык.
  • Помните: один топик - один вопрос!
  • В данном разделе запрещено поднимать темы, т.е. при отсутствии ответов на Ваш вопрос добавлять новые ответы к теме, тем самым поднимая тему на верх списка.
  • Если вы хотите, чтобы вашу проблему решили при помощи определенного алгоритма, то не забудьте описать его!
  • Если вопрос решён, то воспользуйтесь ссылкой "Пометить как решённый", которая находится под кнопками создания темы или специальным флажком при ответе.

Более подробно с правилами данного раздела Вы можете ознакомится в этой теме.

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Центр помощи | Следующая тема »


 




[ Время генерации скрипта: 0.0549 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.