Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Не могу изманить значение символа 
:(
    Опции темы
CruelInt
Дата 14.9.2007, 18:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Погибаю. Задали написать лабу, в остальных двух прогах справилась, а тут не могу
Цитата

// L1NET.cpp : main project file.

#include "stdafx.h"
#include <string>
#include <clocale>
using namespace System;
using namespace System::Collections::Generic;
using namespace System::IO;



int myComparison (String ^ x, String ^ y)
{
    return String::Compare(y, x);
};


int main(array<System::String ^> ^args)
{    
    List<String ^> ^ al = gcnew List<String ^>();
    StreamReader ^ c = gcnew StreamReader(gcnew FileStream("input.txt", FileMode::Open));
    try {int j=0;
     while (c->Peek()>=0){
    al->Add(c->ReadLine());
         
Цитата
Далее неодбходимо коды всех символов в строке, кроме управляющих,изменить по формуле 
(287-старый символ). Не катит, как только не делала. 


            }        
    }
    __finally {
        c->Close();
    }
    
    StreamWriter ^ d = gcnew StreamWriter(gcnew FileStream("output3.txt", FileMode::Create));
     Console::WriteLine(L"Hello World");
    try {
        for (int i=0; i<alyona->Count; i++) d->WriteLine(alyona[i]);
    }
    __finally {
        d->Close();
    }
    return 0;
}



Это сообщение отредактировал(а) CruelInt - 14.9.2007, 18:04
PM MAIL   Вверх
tdebugger
Дата 14.9.2007, 22:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Код

// Test0.cpp : main project file.

#include "stdafx.h"

using namespace System;
using namespace System::IO;

int main(array<System::String ^> ^args)
{    
    try
    {
        if(args->Length>0 && File::Exists(args[0]))
        {
            const int size=4096;
            char ch=0;
            FileStream ^fileIn=File::OpenRead(args[0]); 
            FileStream ^fileOut=File::Create(args[0]+".out");    
            array<unsigned char,1> ^bufferIn=gcnew array<unsigned char,1>(size); 
            array<unsigned char,1> ^bufferOut=gcnew array<unsigned char,1>(size);
            for(int n=0,c=0;n<fileIn->Length;)
            {
                c=fileIn->Read(bufferIn,0,size);
                for(int i=0;i<c;i++)
                { 
                    ch=bufferIn[i];
                    ch=ch<20?ch:287-ch;
                    bufferOut[i]=ch;
                }
                fileOut->Write(bufferOut,0,c);
                n+=c;
            } 
            fileIn->Close();  
            fileOut->Close(); 
            delete[]    bufferIn,bufferOut;
        }
        else
            Console::WriteLine("File not found.\n");
    }
    catch(Exception ^ex)
    {
        Console::WriteLine("Какая-то ошибка, а именно:\n {0}",ex->Message);
    }
    return 0;
}

--------------------
ТЕХНОЛОГИЯ "JAVA"  НЕ ПРЕДНАЗНАЧЕНА ДЛЯ УПРАВЛЕНИЯ ЯДЕРНЫМИ УСТАНОВКАМИWindows98 License.txt
PM MAIL MSN   Вверх
tol05
Дата 14.9.2007, 23:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1632
Регистрация: 21.12.2006
Где: Харьков

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



а почему не так?
Код

// Test0.cpp : main project file.

#include "stdafx.h"

using namespace System;
using namespace System::IO;

int main(array<System::String ^> ^args)
{    
    try
    {
        if(args->Length>0 && File::Exists(args[0]))
        {
            const int size=4096;
            //char ch=0;
            FileStream ^fileIn=File::OpenRead(args[0]); 
            FileStream ^fileOut=File::Create(args[0]+".out");    
            array<unsigned char,1> ^bufferIn=gcnew array<unsigned char,1>(size); 
            //array<unsigned char,1> ^bufferOut=gcnew array<unsigned char,1>(size);
            for(int n=0,c=0;n<fileIn->Length;)
            {
                c=fileIn->Read(bufferIn,0,size);

                //for(int i=0;i<c;i++)
                //{ 
                //    ch=bufferIn[i];
                //    ch=ch<20?ch:287-ch;
                //    bufferOut[i]=ch;
                //}
                //fileOut->Write(bufferOut,0,c);

                for(int i=0;i<c;i++)
                { 
                   if(bufferIn[i]>=20) bufferIn[i]=287 - bufferIn[i];
                }
                fileOut->Write(bufferIn,0,c);
                n+=c;
            } 
            fileIn->Close();  
            fileOut->Close(); 
            delete[]    bufferIn,bufferOut;
        }
        else
            Console::WriteLine("File not found.\n");
    }
    catch(Exception ^ex)
    {
        Console::WriteLine("Какая-то ошибка, а именно:\n {0}",ex->Message);
    }
    return 0;

}


Это сообщение отредактировал(а) tol05 - 15.9.2007, 10:16


--------------------
На хорошей работе и сны хорошие снятся.
PM MAIL   Вверх
tdebugger
Дата 15.9.2007, 09:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Согласен, буфера и одного достаточно...


--------------------
ТЕХНОЛОГИЯ "JAVA"  НЕ ПРЕДНАЗНАЧЕНА ДЛЯ УПРАВЛЕНИЯ ЯДЕРНЫМИ УСТАНОВКАМИWindows98 License.txt
PM MAIL MSN   Вверх
CruelInt
Дата 15.9.2007, 10:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Есть еще один момент. Нужно строки в выходной файл записать в обратном порядке.

Это сообщение отредактировал(а) CruelInt - 15.9.2007, 10:18
PM MAIL   Вверх
tdebugger
Дата 15.9.2007, 13:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Вот так, что ли:

In.txt
 a1a2a3a4
 b1b2b3b4
 c1c2c3c4

Out.txt 
 c1c2c3c4
 b1b2b3b4
 a1a2a3a4

Код

#include "stdafx.h"

using namespace System;
using namespace System::IO;

int main(array<System::String ^> ^args)
{    
    try
    {
        if(args->Length>0 && File::Exists(args[0]))
        {
            const int size=4096;
            char ch=0;
            FileStream ^fileIn=File::OpenRead(args[0]); 
            FileStream ^fileOut=File::Create(args[0]+".out"); 
            array<unsigned char,1> ^bufferIn=gcnew array<unsigned char,1>(size); 
            array<unsigned char,1> ^bufferOut=gcnew array<unsigned char,1>(size);
            
            for(int n=0,c=0,p=0;n<fileIn->Length;)
            {  
                c=fileIn->Read(bufferIn,0,size);
                for(int i=0,l=0,k=0;i<c;i++)
                {
                    ch=bufferIn[i];
                    //if(ch>=0x20)              uncomment for release
                    //    bufferIn[i]=287-ch;
                    if(ch=='\r' && i+1!=c && bufferIn[i+1]=='\n')
                    {
                        for(int j=c-i;j<c-l;j++,k++)
                            bufferOut[j]=bufferIn[k];
                        l=i+2;
                        bufferOut[c- ++k]='\n';
                        bufferOut[c- ++k]='\r';
                        continue;
                    }
                    if(i+1==c)
                        for(int j=0;j<c-l;j++,k++)
                            bufferOut[j]=bufferIn[k];
                }
                n+=c;
                fileOut->Position=fileIn->Length-n;
                fileOut->Write(bufferOut,0,c);                
            }
            fileIn->Close();  
            fileOut->Close(); 
            delete[]    bufferIn,bufferOut;
        }
        else
            Console::WriteLine("File not found.\n");
    }
    catch(Exception ^ex)
    {
        Console::WriteLine("Какая-то ошибка, а именно:\n {0}",ex->Message);
    }
    return 0;
}


Это сообщение отредактировал(а) tdebugger - 15.9.2007, 18:33
--------------------
ТЕХНОЛОГИЯ "JAVA"  НЕ ПРЕДНАЗНАЧЕНА ДЛЯ УПРАВЛЕНИЯ ЯДЕРНЫМИ УСТАНОВКАМИWindows98 License.txt
PM MAIL MSN   Вверх
CruelInt
Дата 17.9.2007, 04:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Да, именно так. =) Всем спасибо, написала как надо. Препод у меня веселый. Лекции ведет как попало, а требует... 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Partizan
PashaPash

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, Partizan, PashaPash.

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


 




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


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

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