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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [C++] Текстовый файл. Функции 
:(
    Опции темы
jdvar
Дата 7.4.2009, 09:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Дан текст. В каждой строке слова разделены произвольным количеством пробелов. Пробелы могут стоять перед первым словом и за последним. Проверить, являются ли слова в каждой строчке текста упорядоченными по алфавиту. Если нет, то упорядочить их, не делая различия между строчными и прописными буквами. У каждого слова первую букву заменить прописной, а остальные буквы сделать строчными. Исходный текст и полученные результаты должны быть в рзличных файлах. Решить задачу с помощью функции.

Собственно задание нужно сделать на борланде
PM MAIL   Вверх
mrbrooks
Дата 7.4.2009, 15:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


трололомен
****


Профиль
Группа: Завсегдатай
Сообщений: 4259
Регистрация: 4.10.2006
Где: Дол Гулдур

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



Цитата(jdvar @  7.4.2009,  09:28 Найти цитируемый пост)
Собственно задание нужно сделать на борланде 

Это вместо помогите пожалуйста?

Раз нужно - тогда делай. Выхода нет.
PM MAIL   Вверх
zim22
Дата 7.4.2009, 15:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


depict1
****


Профиль
Группа: Завсегдатай
Сообщений: 2682
Регистрация: 15.1.2009
Где: Украина

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



Цитата(jdvar @  7.4.2009,  09:28 Найти цитируемый пост)
Собственно задание нужно сделать на борланде

а почему не на visual c++ или code blocks?

Добавлено через 43 секунды
Цитата(mrbrooks @  7.4.2009,  15:15 Найти цитируемый пост)
Раз нужно - тогда делай. Выхода нет.

выход есть - поделиться с нами денюжкой


--------------------
PM MAIL   Вверх
taiven
Дата 7.4.2009, 17:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



А исходная структура текста в выходном файле должна сохраниться(я имею в виду количество пробелов между словами и т.д.)?

Это сообщение отредактировал(а) taiven - 7.4.2009, 17:52
PM   Вверх
jdvar
Дата 7.4.2009, 19:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата

Это вместо помогите пожалуйста?


задание требуется сделать в принципе.никто не говорил,что это я от вас требую.но,хорошо,попрошу - помогите пожалуйста

Цитата

а почему не на visual c++ или code blocks?


в университете имеется только борланд

Цитата

А исходная структура текста в выходном файле должна сохраниться(я имею в виду количество пробелов между словами и т.д.)?


нет.количество пробелов между словами в выходном не имеет значения.главное,чтобы они разделялись хотя бы одним.пожалуй единственное,что в обоих структурах текстов должно быть одинаково это количество строчек
PM MAIL   Вверх
taiven
Дата 7.4.2009, 19:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



вот, не проверял особо, но должно работать...
Код

#include <iostream>          
#include <fstream>    
#include <cstring>   

using namespace std;

void Lowercase(char *arr)
{
    int len = strlen(arr);
    for(int i = 0; i < len; i++) 
        tolower(arr[i]);
}

void BubbleSort(char (*arr)[256], int size)
{
    char temp[256] = {'\0'};
    for(int i = 1; i < size; ++i)
        for(int j = 0; j < size - i; ++j)
            if ( (strcmp(arr[j], arr[j+1]) > 0) )
            {
                strcpy(temp, arr[j]);
                strcpy(arr[j], arr[j+1]);
                strcpy(arr[j+1], temp);
            }
}
    

int main()
{    
    char words[256][256] = {'\0'};
    char word[256] = {'\0'};
    int count = 0;

    ifstream in("C:\\in.txt");
    ofstream out("C:\\out.txt");

    if(!in) 
    {
        cout << "Error\n";
        return 1;
    }

    in.unsetf(ios::skipws);

    while(!in.eof())
    {
        char *p;
        in.getline(word, 256);    

        p = strtok(word, " ");
        while(p != NULL)
        {
            strcpy(words[count++], p); 
            p = strtok(NULL, " ");
        }

        BubbleSort(words, count);

        for(int index = 0; index < count ; index++)
        {
            Lowercase(words[index]);
            words[index][0] = toupper(words[index][0]);
            out << words[index] << ' ';
            memset(words[index], '\0', 32);
        }
        out << '\n';
        count = 0;
    }

    in.close();
    out.close();

    return 0;    
}


Добавлено @ 19:56
если используешь Borland 3.1 или что-то типа того, то вместо
Код

#include <iostream>          
#include <fstream>    
#include <cstring>   

using namespace std;

надо написать
Код

#include <iostream.h>          
#include <fstream.h>    
#include <string.h>   


Это сообщение отредактировал(а) taiven - 7.4.2009, 20:22
PM   Вверх
jdvar
Дата 7.4.2009, 20:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



спасибо большое.а можно было бы без использования потоков и string.h?
PM MAIL   Вверх
taiven
Дата 7.4.2009, 20:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(jdvar @  7.4.2009,  19:10 Найти цитируемый пост)
спасибо большое.а можно было бы без использования потоков и string.h?

в смысле без потоков? и чем string.h не угодил? smile 
PM   Вверх
jdvar
Дата 7.4.2009, 20:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



скажем,банально не проходили.просто было бы странно подключать непройденные на данный момент библиотеки (и iostream.h,и fstream.h,и string.h).по идее весь листинг должен быть представлен с одним stdio.h.но если ответ на мой вопрос - "нет",то пойду разбираться)
PM MAIL   Вверх
zim22
Дата 7.4.2009, 20:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


depict1
****


Профиль
Группа: Завсегдатай
Сообщений: 2682
Регистрация: 15.1.2009
Где: Украина

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



Цитата(jdvar @  7.4.2009,  20:10 Найти цитируемый пост)
.а можно было бы без использования потоков и string.h?

это называется нахальство. вы сразу не могли уточнить с чем писать и без чего?


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


Новичок



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

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



Цитата

это называется нахальство. вы сразу не могли уточнить с чем писать и без чего?


приношу свои извинения,но я совершенно не хотел быть нахальным.я даже не знал о существовании таких библиотек до сегодняшнего дня
PM MAIL   Вверх
jhonyxakep
Дата 8.4.2009, 08:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Divide Et Impera
**


Профиль
Группа: Участник
Сообщений: 983
Регистрация: 7.4.2009
Где: Что, Когда?

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



надо поискать их в Викпедии!
PM MAIL ICQ   Вверх
Anikmar
Дата 8.4.2009, 09:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2513
Регистрация: 26.11.2006
Где: Санкт-Петербург

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



Цитата(zim22 @  7.4.2009,  15:15 Найти цитируемый пост)
выход есть - поделиться с нами денюжкой 

 smile  вошли во вкус?
PM MAIL ICQ   Вверх
zim22
Дата 8.4.2009, 12:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


depict1
****


Профиль
Группа: Завсегдатай
Сообщений: 2682
Регистрация: 15.1.2009
Где: Украина

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



Цитата(Anikmar @  8.4.2009,  09:02 Найти цитируемый пост)
вошли во вкус?

есть у кого учиться! smile

Это сообщение отредактировал(а) zim22 - 8.4.2009, 12:34


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

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


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

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

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

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


 




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


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

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