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

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

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 01.07.2009, 12:51   #1
sven117
 
Регистрация: 22.05.2009
Сообщений: 5
Плохо Поиск целого числа в строке

Здравствуйте, возникла проблема с задачей - Задать строку, в ней найти все целые числа , и перед каждым из них поставить ' ' (пробел).

Задача должна быть написана на Си, пока получился вот такой бред :
#include <stdio.h>
#include <string.h>
char str[80]
scanf("%s", &str);
for (i=0;i<80,i++)
if (gets(str[i]=" ")
{gets(str[k]=" ",k++}
if k=2
printf("Posledovatelnost chisel");
sven117 вне форума Ответить с цитированием
Старый 01.07.2009, 13:00   #2
Victor Deltorro
Пользователь
 
Аватар для Victor Deltorro
 
Регистрация: 24.06.2009
Сообщений: 17
По умолчанию

ммм... такой вопросик, тебе нужно загнать пробелы в массив перед каждым числом верно?? Или просто вывести на экран числа через пробел?
Our span of life is brief, but is long enough for us to live well and honestly...
Victor Deltorro вне форума Ответить с цитированием
Старый 01.07.2009, 13:10   #3
sven117
 
Регистрация: 22.05.2009
Сообщений: 5
По умолчанию

как я понял из задания в итоги нужно вывести последовательность из чисел вида " 1"," 2" ну итд
sven117 вне форума Ответить с цитированием
Старый 01.07.2009, 13:15   #4
Victor Deltorro
Пользователь
 
Аватар для Victor Deltorro
 
Регистрация: 24.06.2009
Сообщений: 17
По умолчанию

Тоесть числа в ковычках через запятую?
Our span of life is brief, but is long enough for us to live well and honestly...
Victor Deltorro вне форума Ответить с цитированием
Старый 01.07.2009, 13:17   #5
sven117
 
Регистрация: 22.05.2009
Сообщений: 5
По умолчанию

нет,ковыки я поставил просто чтоб выделить пробел) , но да, через зпт
sven117 вне форума Ответить с цитированием
Старый 01.07.2009, 13:19   #6
vvviperrr
Тупой студент
Форумчанин
 
Аватар для vvviperrr
 
Регистрация: 12.05.2007
Сообщений: 614
По умолчанию

Код:
#include "stdio.h"

int main() {
	char *pStr;
	char str[80];
	short isNumber = 0;
	gets(str);
	pStr = str;
	while (*pStr) {
		if (*pStr >= '0' && *pStr <= '9') {
			isNumber = 1;
			printf("%c", *pStr);
		} else {
			if (isNumber) {
				isNumber = 0;
				printf(" ");
			}
		}
		pStr++;
	}
	return 0;
}
vvviperrr вне форума Ответить с цитированием
Старый 01.07.2009, 13:21   #7
Victor Deltorro
Пользователь
 
Аватар для Victor Deltorro
 
Регистрация: 24.06.2009
Сообщений: 17
По умолчанию

Вообщем писал я как обычно в блокноте, так что пардон за синтаксические ошшибки... )
Код:
#include <iostream>

int main()
{
	char Array[26];
	int index = 0;
	for(; index < 26; index++) {
		Array[index] = 'A' + index;
		std::cout<<Array[index]<<",";
	}
}
Попробуй... вот код... я думаю смысл ясен... Повторюсь писал в блокноте, проверить немогу...
В этом примере массив заполняется Английским алфавитом и выводится на экран через запятую... В массив ты можешь загнать что угодно... логика одна и та же... Удачи...
Our span of life is brief, but is long enough for us to live well and honestly...
Victor Deltorro вне форума Ответить с цитированием
Старый 01.07.2009, 13:24   #8
sven117
 
Регистрация: 22.05.2009
Сообщений: 5
По умолчанию

Цитата:
Сообщение от vvviperrr Посмотреть сообщение
Код:
#include "stdio.h"

int main() {
	char *pStr;
	char str[80];
	short isNumber = 0;
	gets(str);
	pStr = str;
	while (*pStr) {
		if (*pStr >= '0' && *pStr <= '9') {
			isNumber = 1;
			printf("%c", *pStr);
		} else {
			if (isNumber) {
				isNumber = 0;
				printf(" ");
			}
		}
		pStr++;
	}
	return 0;
}
спасибо)правда я не понял маленько, как она работает, в частности, что делает *pstr и почему в цикле if идет проверка от 0 до 9
sven117 вне форума Ответить с цитированием
Старый 01.07.2009, 13:36   #9
vvviperrr
Тупой студент
Форумчанин
 
Аватар для vvviperrr
 
Регистрация: 12.05.2007
Сообщений: 614
По умолчанию

Цитата:
что делает *pstr
указатель, чтобы проходить по строке. не люблю я обращаться к элементам строки по индексу

Цитата:
почему в цикле if идет проверка от 0 до 9
проверяем каждый символ на цифру. если это цифра - выводим ее и ставим флаг, что началось число
vvviperrr вне форума Ответить с цитированием
Старый 01.07.2009, 14:01   #10
sven117
 
Регистрация: 22.05.2009
Сообщений: 5
По умолчанию

большое спасибо за объяснение!
sven117 вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ВЫчисление дробей по модулю целого числа Камикадзе Помощь студентам 0 18.04.2009 09:29
сумма цифр целого числа mihsel Microsoft Office Excel 8 13.04.2009 13:57
Определение в строке числа pautina Общие вопросы Delphi 1 24.01.2009 21:57
определение в строке числа pautina Общие вопросы Delphi 5 23.01.2009 19:46
разработать функцию, которая определяет сумму цифр целого числа IceAgainstIce Общие вопросы Delphi 5 20.11.2008 00:52