powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Только начало
32 сообщений из 32, показаны все 2 страниц
Только начало
    #34157298
serakuz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго времени суток!!!
Передомной как начинающим осваивать СИ++.
Встала такая задача:
Найти сумму всех чисел из интервала от 1000 до 9999, которые удовлетворяют условию, что остаток от деления первой цифры на вторую был равен сумме двух последних цифр.

У меня неполучается сформулировать последовательность перебора чисел, как сами числа в разрядах обозвать?
Подскажите пожалуйста кто может.
Буду весьма признателен, за все отзывы заранее СПАСИБО!
...
Рейтинг: 0 / 0
Только начало
    #34157346
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. Перебирать, проще всего все подряд.

2. Выделять числа можно так:
n/1000
n%1000/100
n%100/10
n%10

3. Ну, а дальше, использование формулы.

4. Обозвать можно n1,..n4 или массивом.
...
Рейтинг: 0 / 0
Только начало
    #34157761
serakuz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
#include<stdio.h>
#include<conio.h>
#include<math.h>
main()
{
int n1,n2,n3,n4,n,sum=0;
clrscr();
for (n=1000;n<9999;n++)
{
n1=n/1000;
n2=n%1000/100;
n3=n%100/10;
n4=n%10;
sum=sum+n;
if(n2!=0)
if((n1/n2)==(n3+n4))
{
printf("%d\t%d\t",n,sum);
}
}
getch();
}

Работает, но масса чисел не совсем удовлетворяющих условию например 1101, 6706 и т.д. к тому же сумма чисел кое где отрицательные числа ????????
...
Рейтинг: 0 / 0
Только начало
    #34157783
pandrew
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Правильно
n2=(n%1000)/100;
исправь также в других местах. У операции взятия модуля низкий приоритет
...
Рейтинг: 0 / 0
Только начало
    #34157788
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Остаток от деления - %
...
Рейтинг: 0 / 0
Только начало
    #34158429
serakuz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Былобы не плохо но, это непомогает.
...
Рейтинг: 0 / 0
Только начало
    #34158521
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
serakuzБылобы не плохо но, это непомогает.

С чего так решил?
...
Рейтинг: 0 / 0
Только начало
    #34158528
serakuz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Исправил проверил и все равно каша получилась.
...
Рейтинг: 0 / 0
Только начало
    #34158608
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
serakuzИсправил проверил и все равно каша получилась.

Что значит "каша"?
...
Рейтинг: 0 / 0
Только начало
    #34158729
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Каши не будет, если перевод строки поставить.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
#include<stdio.h>
#include<conio.h>
#include<math.h>
main()
{
int n1,n2,n3,n4,n,sum= 0 ;
clrscr();
for (n= 1000 ;n< 9999 ;n++)
{
n1=n/ 1000 ;
n2=(n% 1000 )/ 100 ;
n3=(n% 100 )/ 10 ;
n4=n% 10 ;
sum=sum+n;
if(n2!= 0 )
if((n1/n2)==(n3+n4))
{
 printf("%d\t%d\n",n,sum);
}
}
getch();
}
...
Рейтинг: 0 / 0
Только начало
    #34158778
serakuz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Большое Спасибо за помощь.
Может у меня что то с програмкой не то, получается 1/1 остаток =1, 8/9 остаток =8 и т.д.
да и в сумме отрицательные числа почемуто.
...
Рейтинг: 0 / 0
Только начало
    #34158796
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
serakuzБольшое Спасибо за помощь.
Может у меня что то с програмкой не то, получается 1/1 остаток =1, 8/9 остаток =8 и т.д.
да и в сумме отрицательные числа почемуто.

8/9=8: А что такое остаток от деления знаешь?

И еще раз повторю - остаток от деления берется операцией %
...
Рейтинг: 0 / 0
Только начало
    #34158838
serakuz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
#include<stdio.h>
#include<conio.h>
#include<math.h>
main()
{
int n1,n2,n3,n4,i,sum=0;
clrscr();
for (i=1000;i<=9999;i++)
{
n1=i/1000;
n2=(i%1000)/100;
n3=(i%100)/10;
n4=i%10;
sum=(sum+i);
if(n2!=0)
if((n1%n2)==(n3+n4))
{
printf("%d\t%d\n",i,sum);
}
}
getch();
}
Все таже байда с числами.
В чем же загвоздка???
...
Рейтинг: 0 / 0
Только начало
    #34158855
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ты суммируешь все подряд
...
Рейтинг: 0 / 0
Только начало
    #34158970
serakuz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Помимо суммы сами числа не соответствуют условию.
...
Рейтинг: 0 / 0
Только начало
    #34159149
serakuz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Большое Всем СПАСИБО!
С числами с Вашей помощью разобрался.
Не получается правильно сумму этих чисел оформить.
Буду признателен за помощь.
...
Рейтинг: 0 / 0
Только начало
    #34159187
serakuz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
УРА!!! УРА!!!
Все заработало!!!
Всем Огромное СПАСИБО!!!
...
Рейтинг: 0 / 0
Только начало
    #34159198
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
serakuzУРА!!! УРА!!!
Все заработало!!!
Всем Огромное СПАСИБО!!!

Охх студенты!

P.S. Если понаблюдать за операцией '%', то можно заметить, что для переменной цикла она просто дает подпоследовательности с меньшим периодом. Для деления '/' - наоборот. Короче.. есть поле для оптимизации. Эххх... я-бы замочил.

P.P.S. Проклятая привычка!!!
...
Рейтинг: 0 / 0
Только начало
    #34163956
serakuz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите пожалуста как с такими задачами бороться:

"Введенном слове поменять вторую букву на предпоследнею, а третью на последнею и наоборот."

Какими типами переменных и функций следует воспользоваться?

Огормное Всем Спасибо!!!
...
Рейтинг: 0 / 0
Только начало
    #34164060
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
serakuzПодскажите пожалуста как с такими задачами бороться:

"Введенном слове поменять вторую букву на предпоследнею, а третью на последнею и наоборот."

Какими типами переменных и функций следует воспользоваться?

Огормное Всем Спасибо!!!

Например, char * и strlen() будет вполне достаточно.
...
Рейтинг: 0 / 0
Только начало
    #34165306
serakuz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
С чего тут лучше начинать?
...
Рейтинг: 0 / 0
Только начало
    #34165961
serakuz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ПОМОГИТЕ ПОЖАЛУСТА !!!!
Я ведь только учусь.
С чего следует начать?
...
Рейтинг: 0 / 0
Только начало
    #34166052
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
serakuzПОМОГИТЕ ПОЖАЛУСТА !!!!
Я ведь только учусь.
С чего следует начать?

Еще раз повторить?
...
Рейтинг: 0 / 0
Только начало
    #34166083
serakuz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вы мне сильно помогли в первый раз теперь я умею решать подобные задачи.
В этом же случае я снова у новых ворот.
...
Рейтинг: 0 / 0
Только начало
    #34166104
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
serakuzВы мне сильно помогли в первый раз теперь я умею решать подобные задачи.
В этом же случае я снова у новых ворот.

Одно из трактований строк - это массив байт, заканчивающийся нулем. Байт в С это char, массив - это указатель на память, где что-то лежит, соответственно char[n] - это массив строк. Если ты туда поместишь строку, не забыв, что она должна оканчиваться нулем, то с помощью функции strlen() ты сможешь определить ее длину. Ну а далее переставляй, то что тебе нужно, доступ к каждому символу массива можно получить с помощью обращения к массиву по индексу a[x]. Сохраняешь нужный символ, где нибудь, ставишь на его место требуемый, а на место, откуда взял требуемый ставишь сохранненый. Есть и другой вариант перестоновки, олимпиады по программированию выпускников школ годов 90-х. Но этот самый простой.

Вопросы есть?
...
Рейтинг: 0 / 0
Только начало
    #34168981
serakuz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Без книжки мне не разобраться, придется литературу почитать.
...
Рейтинг: 0 / 0
Только начало
    #34169034
M.Alex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BSTR - тож строка. Только ситемная . Она понятия не имеет об \n и \0. Так что не заморачивайся на ограничители.
...
Рейтинг: 0 / 0
Только начало
    #34176001
serakuz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Мне бы пример хоть один подобный, я бы все понял.
...
Рейтинг: 0 / 0
Только начало
    #34178746
serakuz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
К тебе Akh Взываю помоги пажалуста!!!
...
Рейтинг: 0 / 0
Только начало
    #34179506
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
serakuzМне бы пример хоть один подобный, я бы все понял.

Какой пример? Тут вычисление длины, я уже написал как. И перестановка элементов, тоже написал как.
...
Рейтинг: 0 / 0
Только начало
    #34179834
pandrew
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
serakuzК тебе Akh Взываю помоги пажалуста!!!Надо бы гекзаметром переписать. М.б. боги и внемлют.
...
Рейтинг: 0 / 0
Только начало
    #34182715
serakuz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Огромное ВСЕМ СПАСИБО!!!
...
Рейтинг: 0 / 0
32 сообщений из 32, показаны все 2 страниц
Форумы / C++ [игнор отключен] [закрыт для гостей] / Только начало
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]