2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему
 
 задача на си++
Сообщение02.06.2010, 20:14 


23/05/10
1
Из заданной строки символов удалить символы, отличные от русских букв и пробелов.
#include<iostream.h>
#include<conio.h>
#include<string.h>
const int MAX_LEN = 80;
int main() {
char first_s[MAX_LEN];
char second_s[MAX_LEN];
int i,n ;
cout << "Vvedite stroky ";
cin.getline(first_s,MAX_LEN);
cout << "Vvedite stroky ";
cin.getline(second_s,MAX_LEN);
n=strlen(first_s);
for (i=0;i<n+1;i++);
if ((first_s[i]==34) || (first_s[i]>127 && first_s[i]<176) ||(first_s[i]>223 && first_s[i]<240))
strcpy(second_s,first_s);
cout<< second_s;
getch();
return 0;}
что ей не нравится почему не выполняет(((

 Профиль  
                  
 
 Re: задача на си++
Сообщение03.06.2010, 14:46 


01/06/10
2
Вы разберитесь, что ваша программа должна делать. Сейчас она делает не то.
Имелось в виду, что if должен быть в цикле?

 Профиль  
                  
 
 Re: задача на си++
Сообщение04.06.2010, 00:46 
Аватара пользователя


01/04/10
910
to izi

Код читать неудобно используйте теги - [ code ] [ /code ]

Обязательно используйте отступы.

Решение должно быть с использованием возможностей именно C++ или подойдёт обычный C?

В какой кодировке должна быть входная строка?

 Профиль  
                  
 
 Re: задача на си++
Сообщение13.06.2010, 11:16 


13/06/10
3
izi в сообщении #326912 писал(а):
Из заданной строки символов удалить символы, отличные от русских букв и пробелов.


говнокод просто чудовищный...

; после for и цикл получается пустой (современный компилятор будет давать ошибку на использование i вне цикла, старый (vs6) давал предупреждение).

код пробела 32, а не 34 если уж на то пошло, а вообще, прописывать коды букв литералами жуткий моветон. написали б ' ' и такой ошибки бы не было.

дальше. вопрос кодировки. в программу жестко забита CP866, досовская кодировка. в 2010 году это разве не смешно?? сейчас на дворе Windows, а еще юникод бывает.. да даже в CP866, буква Ё не правильно обрабатывается.

ну и наконец strcpy в цикле на каждый символ - это ж вообще кошмар и дикость.

правильный ответ: посимвольное копирование из массива в массив с проверкой _isalpha_l

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 4 ] 

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group