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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 13.11.2011, 18:53   #1
Вечно грустная...
Пользователь
 
Аватар для Вечно грустная...
 
Регистрация: 04.02.2011
Сообщений: 34
Печаль Проблемы с циклом!!!

Код:
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include<iomanip>

using namespace std;
typedef  struct
{
	float key;
	char symbol;
	int s;
}RECNODE;

const int k=8;

void bublesort(RECNODE *r, int n)
{
	int i, j;
	RECNODE temp1;
	char temp2;
	for(i = 0; i < n; i++)
	  for(j = n - 2; j >= i; j--)
		if(r[j + 1].key >r[j].key) 
		{
			temp1 = r[j + 1]; 
			temp2 = r[j + 1].symbol;
			r[j + 1] = r[j]; 
			r[j + 1].symbol = r[j].symbol;
			r[j] = temp1;
			r[j].symbol = temp2;
		}
}

int qiuk(RECNODE *r, int n){

	int i, j;
	float N1, N2;
	float N[k];
	N1=0;
	N2=0;
	for(i=1;i<n;i++)
	{
		for(j=0;j<i;j++)
			N1=N1+r[j].key;
		for(j=i;j<n;j++)
			N2=N2+r[j].key;
		N[i]=N1-N2;
		if(N[i]<0)
			N[i]=-N[i];
		N1=0;
		N2=0;
	}
	i=1;
	for(j=2;j<n;j++)
	{
		if(N[i]>N[j])
			i=j;
	}
	if(n == 1)
		return i=0;
	else
		return i;
	
}



void main()
{
	char a[]={"ABCDEFGH"};
	RECNODE b[k];
	RECNODE c[k];
	RECNODE d[k];
	int i;
	int L;
	int t;
	int n;
	for(t=0;t<k;t++)
	{
		cout<<"Enter word:"<<a[t]<<"The probability of: ";
		cin>>b[t].key;
		b[t].symbol=a[t];
		cout<<endl;
	}
	bublesort(b,k);
	for(t=0;t<k;t++)
	{
		c[t].key=b[t].key;
		c[t].symbol=b[t].symbol;
	}
	
	for(t=0;t<k;t++)
		cout<<setw(5)<<b[t].symbol;
	cout<<endl;

	
	i=qiuk(b,k);
	
	while(i != 0)
	{
		if(i != 0)
		{
			L=i;
			if(L==1)
			{
				b[0].s=0;
				for(t=1;t<L;t++)
					b[t].s=1;
				for(t=0;t<L;t++)
					cout<<setw(5)<<b[t].s;
			}
			else 
			{
				for(t=0;t<L;t++)
				{
					b[t].s=0;
					c[t].key=b[t].key;
				}
				for(t=0;t<L;t++)
					cout<<setw(5)<<b[t].s;
			
				for(t=L;t<k;t++)
					b[t].s=1;
				for(t=L;t<k;t++)
					cout<<setw(5)<<b[t].s;
				cout<<endl;
				for(n=0;n<k-i;n++)
					d[n].key=b[n].key;
			}
			if(b[k-2].s == 0)
				i=0;	
		}
		else
			cout<<setw(5)<<" ";
		if(b[k-2].s == 0)
			i=0;
		else
		{
			i=qiuk(c,i);
			i=qiuk(d,n);
		}
	}	
}
Помогите пожалуйста найти ошибку в коде? То есть когда запсукаешь цикл идет непрерывно
Хочу жить... а не существовать...
Вечно грустная... вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Excel с циклом Alkifr Помощь студентам 1 30.10.2010 08:38
Проблемы с циклом - Потоки ArniLand Общие вопросы C/C++ 1 03.06.2010 19:31
проблемы с циклом for.. to..do BIS88 Помощь студентам 26 10.01.2009 07:44
Помогите с циклом Almost_Famous Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 8 27.03.2008 21:08
Проблемы с циклом, условием Иринкаа Помощь студентам 13 19.11.2007 23:33