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

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

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

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

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 12.03.2014, 23:38   #1
Pantheon
Новичок
Джуниор
 
Регистрация: 12.03.2014
Сообщений: 2
По умолчанию Задача на строки. C++

1. Строка представляет собой последовательность целых положительных чисел, разделенных пробелами. Объединить в отдельную строку через пробел числа Фибоначчи.
Вроде все написал и проверил, но крашится. В работоспособности функций уверен.
Код:
#include <iostream>
#include <conio.h>
using namespace std;
#include <string.h>
int perevod(char *a)
{
	int i,p,s,x;
	s=0;
	p=1;
	int q=strlen(a);
	for(i=1;i<q;i++)
		p=p*10;
	for(i=0;i<q;i++)
	{
		x=a[i];
		s=s+(x-48)*p;
		p=p/10;
	}
	return s;

}
bool fib(int x)
{
	int a1,a2,a3,a,b;
	a1=1;
	a2=1;
	a3=2;
	if (x>1)
		while (x>a3)
		{
			a=a2; 
			b=a3;
			a3=a1+a2;
			a2=b;
			a1=a;
		}
	else return true;
	if (x==a3)
		return true;
	else return false;
}
int main()
{
	char str1[]="1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20";
	char str[255];
	char a[10];
	int i,j,k,x,y;
	i=0;
	j=0;
	x=strlen(str1);
	while (i<x)
	{
		if (str1[i]!=' ')
	    {
				while (str1[i]!=' ')
			    {
				    a[j]=str1[i];
				    i++;
				    j++;
			    }
			    y=perevod(a);
				a[j+1]='\0';
			    if (fib(y)) 
				     strcpy(str,a);
				for(k=0;k<j;k++)
					a[k]=' ';
				str[j]=' ';
				j=0;
		}
		i++;
	}
	x=strlen(str);
	for(i=0;i<x;i++)
	   printf("%s",str[i]);
	system("pause");
	return 0;
}

Последний раз редактировалось Pantheon; 12.03.2014 в 23:42.
Pantheon вне форума
Старый 13.03.2014, 09:05   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

ваша тема тут - http://www.programmersforum.ru/showthread.php?t=256605

не надо кросспосты делать!

Модератор
Serge_Bliznykov вне форума
Закрытая тема


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
задача на строки kirito_17 Помощь студентам 0 22.12.2013 17:29
Задача 1-реализована.Задача 2-Найти и вывести символы 2-ой строки не совпавшие с символами 1-ой строки Leshkin Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 3 12.11.2013 08:57
Задача на строки. Даны две строки. Определить можно ли из символов первой строки получить вторую строку.( написать подпрограммой и ANTON1994 Паскаль, Turbo Pascal, PascalABC.NET 5 09.02.2013 14:07
Задача на строки) manik136 Помощь студентам 0 16.11.2010 21:47
Задача на строки LaSeule Помощь студентам 2 31.01.2009 00:54