Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.12.2012, 17:58   #1
Manrex
 
Регистрация: 21.12.2012
Сообщений: 6
По умолчанию Надо найти 2 ошибки

Выдают ошибку

PHP код:
#include "stdafx.h"
#include <iostream>
#include <string>
#include <windows.h>
#include <ctime>
using namespace std;



int main()
{
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
const 
int size 5;
string str[size];
bool isN false;
for (
int i=0;i<size;i++) {
cin>>str[i];
}
for (
int i 0i<sizei++) {
for (
int j 0str[i].length(); j++) {
if (
str[i][j] == '1' ||str[i][j] == '2' ||str[i][j] == '3' ||str[i][j] == '4' ||str[i][j] == '5' ||str[i][j] == '6' ||str[i][j] == '7' ||str[i][j] == '8' ||str[i][j] == '9' ||str[i][j] == '0') {
isN true;
}
}
if (
isN==true) {
cout << str[i];
isN false;
}
}
system("pause");
return 
0;

надо чтоб отсеивал слова с цифрами , а просто пустое окно

PHP код:
struct Point2D 
{
float x;
float y;
};
struct Circle
{
Point2D center;
float radius;
};
float sqr(float number) {
return 
number*number;
}
float Distance(Point2D p1Point2D p2) {
return 
sqrt(sqr(p1.x-p2.x)+sqr(p1.y-p2.y));
}
bool isInside(Point2D pCircle c) {
float dist Distance(pc.center);
return 
dist <= c.radius true false;

здесь куча ошибок, исправлял и без толку
Manrex вне форума Ответить с цитированием
Старый 23.12.2012, 18:16   #2
Smogg
Участник клуба
 
Регистрация: 14.06.2011
Сообщений: 1,138
По умолчанию

Это PHP код?
Если нет, то string совсем-совсем не то, что char[]...
Smogg вне форума Ответить с цитированием
Старый 23.12.2012, 18:23   #3
Manrex
 
Регистрация: 21.12.2012
Сообщений: 6
По умолчанию

а поподробнее?
Manrex вне форума Ответить с цитированием
Старый 23.12.2012, 18:40   #4
Smogg
Участник клуба
 
Регистрация: 14.06.2011
Сообщений: 1,138
По умолчанию

string (<string>)
Smogg вне форума Ответить с цитированием
Старый 23.12.2012, 18:46   #5
Manrex
 
Регистрация: 21.12.2012
Сообщений: 6
По умолчанию

исправлял, не получается
Manrex вне форума Ответить с цитированием
Старый 23.12.2012, 20:34   #6
Smogg
Участник клуба
 
Регистрация: 14.06.2011
Сообщений: 1,138
По умолчанию

string - это класс, к его данным через указатель на него просто так не добраться. Только через его метод .data(); Но тут тоже свои приколы. Типа, что этот указатель валиден лишь короткое время. И данные, на которые он указывает, нельзя модифицировать:
Цитата:
The returned string should not be modified, because this could invalidate the pointer to the string, or deleted, because the string has a limited lifetime and is owned by the class string.
Кароч, не морочьтесь, когда не надо, и пользуйтесь классическим char **str.
Smogg вне форума Ответить с цитированием
Старый 23.12.2012, 21:47   #7
netrino
Участник клуба
 
Аватар для netrino
 
Регистрация: 15.07.2008
Сообщений: 1,933
По умолчанию

Manrex, какие ошибки? Проверять символ на принадлежность цифрам можно так:
Код:
if ('0' <= str[i][j] && str[i][j] <= '9')
Smogg, чем Вам string здесь не нравится? Напротив, им следует пользоваться всегда, когда можно не использовать const char *
netrino вне форума Ответить с цитированием
Старый 23.12.2012, 22:22   #8
Smogg
Участник клуба
 
Регистрация: 14.06.2011
Сообщений: 1,138
По умолчанию

Цитата:
Сообщение от netrino Посмотреть сообщение
Smogg, чем Вам string здесь не нравится? Напротив, им следует пользоваться всегда, когда можно не использовать const char *
Наверно тем, что я не понимаю, как организован способ хранения char'ов в памяти, и как прямыми обращениями по указателю на отдельный char не нарушить весь string целиком.

Или я как-то не так прочитал цитату?
Smogg вне форума Ответить с цитированием
Старый 23.12.2012, 22:50   #9
netrino
Участник клуба
 
Аватар для netrino
 
Регистрация: 15.07.2008
Сообщений: 1,933
По умолчанию

А где здесь прямое обращение по указателю? Если что, у std::string перегружен оператор индексации ([]), так что можно делать так:
Код:
std::string s("Hello, wolrd!");
s[3] = '?'; // s не трактуется как указатель в данном случае, но вызывается string::operator[]
std::cout << s << std::endl; // Hel?o, world!
netrino вне форума Ответить с цитированием
Старый 23.12.2012, 22:50   #10
netrino
Участник клуба
 
Аватар для netrino
 
Регистрация: 15.07.2008
Сообщений: 1,933
По умолчанию

Дубль!! :--(

Последний раз редактировалось netrino; 23.12.2012 в 22:53.
netrino вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужно исправить ошибки!Pascal ABC Очень надо! Metanoia Помощь студентам 1 13.07.2011 13:36
найти ошибки!!)) Ангел без крыльев Visual C++ 1 01.05.2011 01:06
найти ошибки Marseline Помощь студентам 0 22.01.2010 15:48
Помогите найти ошибки Qwoort Общие вопросы C/C++ 1 26.04.2009 12:50