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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 04.03.2009, 23:05   #1
KuPnu4
 
Регистрация: 25.02.2009
Сообщений: 4
Радость Программа на циклы и строки, на языке C

Требуется помощь... нужно отредактировать 2 программы.

1) Шестизначный номер билета является счастливым, если сумма первых трех цифр равна сумме трех последних. Даны числа a и b. Найти количество счастливых номеров билетов в диапазоне [a;b].

Вот мой код:
Код:
#include <conio.h>
#include <stdio.h>
void main ()
{
	clrscr ();
	int a=100000, b=102020, x=0, y=0, p=0, z, k, e;
	for (;a<b;a++)
	{
		e == a;
		for (;e>999;)
		{
			z = e % 10;
			e = e / 10;
			x = z + x;
		}
		for (;e>0;)
		{
			k = e % 10;
			e = e / 10;
			y = k + x;
		}
		if (x==y)
		{
			p++;

		}
	}
	printf ("%i",p);
	getch ();
}
Его нужно хорошенько подредактировать... что бы выводил верное значение, при этом не сильно меня общий вид... возможно использование Do-while и while

2)Дана строка. Словом в ней назовем последовательность подряд идущих латинских букв (больших или маленьких). Посчитать количество букв a в последнем слове данной последовательности.
Код:
#include <conio.h>
#include <string.h>
#include <stdio.h>
void main ()
{
	clrscr ();
	char str[22] = {"Математический анализ\0"};
	int x = 0, i;
	for (i=22; i > 0;i--)
	{
		if (i = 'а')
		{
			x++;
		}
	}
	printf ("%i", x);
	getch ();
}
Здесь походу придется изменить поболее всего... т.к. в строках ничего не понимаю =)

Последний раз редактировалось Stilet; 05.03.2009 в 08:11.
KuPnu4 вне форума Ответить с цитированием
Старый 05.03.2009, 01:05   #2
capta1n
Форумчанин
 
Аватар для capta1n
 
Регистрация: 06.12.2008
Сообщений: 613
По умолчанию

1)
Код:
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <stdlib.h>
void main (){
	 unsigned long a, b, x;
	 printf ("Enter a and b");
	 printf ("\n a="); scanf ("%d",&a);
	 printf ("\n b="); scanf ("%d",&b);
	 unsigned int count=0;
	 for (x=a;a<=b;x++){
		   char str[7];
		   itoa(x,str,7);
		   int v1=0,v2=0;
		   for (unsigned char i=0;i<6;i++){
				if (i<3) v1+=str[i];
				else v2+=str[i];
		   }
		   if (v1==v2) count++;
	 }
printf ("%d",count);
getch ();
}
capta1n вне форума Ответить с цитированием
Старый 05.03.2009, 23:09   #3
Svetlag
Пользователь
 
Аватар для Svetlag
 
Регистрация: 24.02.2009
Сообщений: 85
По умолчанию

1. Но лучше a и b задать как написали выше
Код:
#include <stdio.h>
int main ()
{
	int a=100000, b=102020, n;
	int count = 0;
	for(int i=a; i<=b; i++)
	{
		int l(0), r(0);
		n = i;
		for(int j=5; j>=0; j--)
		{
			if(j<3) l+= n%10;				
			else r+= n%10;
			n /= 10;
		}

		if(l==r) count++;
	}
	
	printf ("%d\n",count);
	return 0;
}
2.
Код:
#include <string>
#include <iostream>
using namespace std ;
int main ()
{
	const int MAX = 1000;
	char ch[MAX];
	cout<<"Enter string\n";
	cin.getline(ch, MAX);
	//можно сразу getline(cin, s);

	string s(ch);
	int pos = s.find_last_of(' ');
	s = s.substr(pos+1);
	int count = 0;
	for (int i=0; i < s.length();i++)
		if (s[i] == 'a') count++;		
	cout<<count<<"\n";
	return 0;
}
Svetlag вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задача на строки и циклы KuPnu4 Общие вопросы C/C++ 5 26.02.2009 18:30
Помогите решить две легкие задачки на циклы и строки KuPnu4 Общие вопросы C/C++ 2 25.02.2009 22:07
Программа на русском языке в Windows XP на другом языке... Как? 29bit Свободное общение 4 01.02.2008 17:24
программа на иттарационные циклы figovproger Помощь студентам 6 02.12.2007 19:35