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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.02.2013, 18:54   #1
cho_nado
 
Регистрация: 09.12.2012
Сообщений: 6
По умолчанию Нужно соединить два кода в один

Есть два кода, один делает одно, другой другое, надо их в один соединить, помоги пожалуйста!!! очень срочно надо!!!
1 код:
Код:
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
#include <math.h>
#define isoper(x) ((x=='(')||(x==')')||(x=='>')||(x=='<')||(x=='}')||(x=='+')||(x=='-')||(x=='*')||(x=='/')||(x=='^')||(x==' ')||(x==';')||(x=='='))

char arr[100][100], *p = &arr[0][0], string[100], *s=string, znaki[100], *z=znaki, if1[100] = "if",print1[100]="printf";
int i=0, j=0, k=5, res=0, tt=0;
char n, for1[100]="for", str2[500], *s2=str2;
int Exspression(int x, int y,char z);

int main()
{
	gets(string);\
	while(*s2!='=')
	{
		gets(str2);
		strcat(s,str2);
	}
	
		while(*s)
	{
		while(!isoper(*s)&&(*s))*p++=*s++;
		*z++=*s++;
		//	puts(arr[i]);
		//	printf("\n %c \n", (*z++));	
		i++;
		p = &arr[i][0];
	}
		
	if (!strcmp(arr[2],if1)) n='1';
	else if (!strcmp(arr[0],print1)) n='2';
	else if (!strcmp(arr[0],for1)) n='3';
	else if (isdigit(arr[0][0])) n='4';
	
//	puts(arr[2]);
//	puts(if1);
//	printf("%c\n", znaki[3]);
    switch(n)
    	{
			case '1':
				k=atoi(arr[1]);
				switch(znaki[3])
		{
			case '>':
				res = (k>atoi(arr[4]));
				break;
			case '<':
				res = (k<atoi(arr[4]));
				break;
			case '=':
				res = (k==atoi(arr[4]));
				break;
		}
		if(res!=0)	printf("%d", k);
		else puts(arr[10]);
 
		break;
		
			case '2':
				k=atoi(arr[1]);
				puts(arr[1]);
				break;
			case '3':
				if (znaki[3]=='<') 
				{
				for(k=atoi(arr[2]);k<atoi(arr[4]);k++)
				 {
				  if(!strcmp(arr[9],print1)) printf("%d ",k);
				 }
				}
				if (znaki[3]=='>')
				{
				for(k=atoi(arr[2]);k>atoi(arr[4]);k--)
				 {
				  if(!strcmp(arr[9],print1)) printf("%d ",k);
				 }
				}
				break;
			case '4':
				printf("%d",k=Exspression(atoi(arr[0]),atoi(arr[1]),znaki[0]));
				break;			
							
		}

return 0;
}
	int Exspression(int x, int y,char z)
	{
		int ot=0,v;
			
		
		if(z=='+')ot=x+y;
		if(z=='-')ot=x-y;
		if(z=='*')ot=x*y;
		if(z=='/')
			{ 
				if(y==0)printf("Error");
				else ot=x/y;
			}
			
		if(z=='^')ot=pow(x,y);
		if(z=='%')
			{ 
				if(y==0)printf("Error");
				else ot=fmod(x,y);
			}
	
			return ot;
	}
2 код:
Код:
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define isoper(x) ((x=='(')||(x==')')||(x=='>')||(x=='<')||(x=='!')||(x=='+')||(x=='-')||(x=='*')||(x=='/')||(x=='^')||(x==' ')||(x==';')||(x=='=') || (x=='&') || (x=='{') || x=='}')
#define SIZE 100
#define LONG 100

char arr[SIZE][LONG], *p = &arr[0][0], string[LONG], string5[LONG],string1[LONG],string2[LONG],string3[LONG],string4[LONG], *s=string, print1[SIZE] = "printf", znaki[SIZE],else1[SIZE] = "else", *z=znaki, if1[SIZE] = "if", while1[SIZE] = "while";
int i=0, j=0, k=5, res=0;

int main()
{
	gets(string);
	gets(string1);
	gets(string2);
	gets(string3);
	gets(string4);
	gets(string5);
	strcat(string,string1);
	strcat(string,string2);
	strcat(string,string3);
	strcat(string,string4);
	strcat(string,string5);
	while(*s)
	{
		while(!isoper(*s)&&(*s))*p++=*s++;
		*z++=*s++;
		while(arr[i][j])
			{
		//	printf("%c", arr[i][j]);
			j++;
			}
	//	printf(" %c \n", (*z++));	
		j=0;
		i++;
		p=&arr[i][0];
	}
	k=atoi(arr[1]);
//	puts(arr[2]);
//	puts(if1);
	//printf("%c\n", znaki[3]);
	if(!strcmp(arr[2], if1) || !strcmp(arr[5], else1))
	{
		switch(znaki[6])
		{
			case '>':
				res = (k>atoi(arr[4]));
				break;
			case '<':
				res = (k<atoi(arr[4]));
				break;
			case '=':
				res = (k==atoi(arr[4]));
				break;
			case '%':
				res = (k==atoi(arr[4]));
				break;
				
		}
		if(res)	printf("%d", k);
		else printf("wrong");
	} 
	int ii=atoi(arr[5]);
	if(!strcmp(arr[2], while1)) {
		
		switch(znaki[2]){
			case '>':
				res = (k>atoi(arr[4]));
				break;
			case '<':
				res = (k<atoi(arr[4]));
				break;
			case '=':
				res = (k==atoi(arr[4]));
				break;
			
		}
			while(k<atoi(arr[4])){
			
			printf("%d\n",k);
			if
				(k%2==0) printf ("chetnoe\n");
				else printf ("nechetnoe\n") ;
			
			 k++;}
			
		
			
			
			
			
	
		/*	{ if(k%2==0)printf ("\nchetnoe\n");
			 else printf("\nnechetnoe\n");*/
			 
		}
		
	// for(;;) printf("%d", k); }
	
	while(k>atoi(arr[4])){
	
		printf("%d\n",k);
		//	{ if(k%2==0)printf ("\nchetnoe\n");
		//	 else printf("\nnechetnoe\n");
			 
		 k++;}
	
	
		
	
	
	/*if(!strcmp(arr[], print1)) {
		printf("%s\n", arr[3]);
		};*/
	
	
return 0;
}

Последний раз редактировалось Stilet; 12.02.2013 в 19:07.
cho_nado вне форума Ответить с цитированием
Старый 12.02.2013, 19:34   #2
cho_nado
 
Регистрация: 09.12.2012
Сообщений: 6
По умолчанию

ну или помогите хотябы пожалуйста во втором коде добавить функции, которые позволяли бы: вводишь в консоле printf(слово), нажимаешь интер и он выводит это слово и чтобы простую арифметику делал + - / *. Например, вводишь 5+3 он выводит 8
cho_nado вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Объединить два кода в один c++\noob Общие вопросы C/C++ 3 08.03.2011 11:21
Пытаюсь соединить два макроса. kzld Microsoft Office Excel 29 11.02.2010 10:03
соединить два 3d объекта NewXakep Помощь студентам 1 11.07.2009 11:34
два запроса, которые нужно объединить в один. andrianov123 БД в Delphi 4 16.05.2008 16:06
Очень нужно соединить два скрипта Yudgin JavaScript, Ajax 11 22.11.2007 13:38