Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 06.11.2010
Сообщений: 4

Программа связана с циклом..?

06.11.2010, 19:58. Показов 677. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый вечер. Пытаюсь написать программу, но ничего толкового не лезет в голову...

Задача:
Вводится n-значное число, программа должна распечатать цифры числа и составить новое число, в котором первая и последняя цифра переставлены местами.

Не знаю...тут что-то связано с mod и div, цикл while..? И учитель сказал что можно использовать трёхзначное значение или что-то в этом роде..?
Жутко всё путается в голове...
Если кто можете, пожалуйста, напишите всю программку.
Большое спасибо.=)
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
06.11.2010, 19:58
Ответы с готовыми решениями:

Программа с метками и оператором перехода GOTO. Программа с циклом полусловия
Задача №9. Прошу вас, помогите. Не знаю как решать вообще.

Сопоставить фрагменту программы с циклом while соответствующий ей фрагмент программы с циклом For
Сопоставьте фрагменту программы с циклом while соответствующий ей фрагмент программы с циклом For: 1)For i:=1 to 5 do s:=s+5; ...

Ошибка в программе (скорее связана с памятью)
Найдите пожалуйста ошибку в программе. Считываеются 2 текстовых файла с матрицами в них (размерность указана двумя числами), затем матрицы...

7
Почетный модератор
 Аватар для Puporev
64316 / 47612 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
06.11.2010, 20:03
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
uses crt;
var n,a,b,t:longint;
begin
clrscr;
Write('Введите натуральное число N= ');
readln(n);
b:=n mod 10;{последняя цифра}
t:=1;
While (n div t)>9 do
t:=t*10;{количество разрядов}
a:=n div t;{первая цифра}
n:=n-b+a; {замена последней}
n:=n-a*t+b*t;{замена первой}
writeln(n);
readln
end.
1
 Аватар для SuPeR XaKer
2857 / 1986 / 788
Регистрация: 23.09.2010
Сообщений: 4,875
06.11.2010, 20:04
Не знаю...тут что-то связано с mod и div, цикл while..?
не обязательно.str'о в строку его перегоняешь и меняешь цифры.
вот так:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Uses
 CRT;
Var
 i:integer;
 n:longint;
 s:string;
 x:char;
begin
ClrScr;
readln(n);
str(n,s);
x:=s[length(s)];
s[length(s)]:=s[1];
s[1]:=x;
val(s,n,i);
writeln(n);
readln
end.
1
0 / 0 / 0
Регистрация: 06.11.2010
Сообщений: 4
06.11.2010, 21:37  [ТС]
Цитата Сообщение от Puporev Посмотреть сообщение
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
uses crt;
var n,a,b,t:longint;
begin
clrscr;
Write('Введите натуральное число N= ');
readln(n);
b:=n mod 10;{последняя цифра}
t:=1;
While (n div t)>9 do
t:=t*10;{количество разрядов}
a:=n div t;{первая цифра}
n:=n-b+a; {замена последней}
n:=n-a*t+b*t;{замена первой}
writeln(n);
readln
end.
Благодарю.=) Извините пожалуйста, но до меня не доходят некоторые детали... Вот как понять "количество разрядов", t:=1 и ту строчку с while, особенно, почему там 9? Спросят если, не смогу же объяснить... Если не сложно, можете пожалуйста объяснит для тупых?=D

SuPeR XaKer, блин, как сложно...или это только мне..? Мы ещё до такого уровня не дошли. Всё равно, спасибо.=)
0
Почетный модератор
 Аватар для Puporev
64316 / 47612 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
06.11.2010, 21:44
RazorSoul, Это уже не программирование, а арифметика. Если не можете сами проделать эту операцию на бумаге, никакое объяснение не поможет, алгоритм нужно руками понять.
1
0 / 0 / 0
Регистрация: 06.11.2010
Сообщений: 4
06.11.2010, 21:47  [ТС]
Цитата Сообщение от Puporev Посмотреть сообщение
RazorSoul, Это уже не программирование, а арифметика. Если не можете сами проделать эту операцию на бумаге, никакое объяснение не поможет, алгоритм нужно руками понять.
Вот так нас в школе учат... Ладно, и на этом спасибо.=)
0
Почетный модератор
 Аватар для Puporev
64316 / 47612 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
06.11.2010, 21:54
Цитата Сообщение от RazorSoul Посмотреть сообщение
Вот как понять "количество разрядов"
Например в числе 9 1 разряд=10^0. в числе 1234 4 разряда=10^3.
Сколько раз число можно разделить на 10, пока оно не станет нолем, столько и разрядов.
Но нам нужно на 1 меньше, поэтому делим пока больше 9.
Например было число 12345
t:=1;
While (n div t)>9 do//пока оно больше 9
t:=t*10;{количество разрядов}//считаем степень 10, или разряды
a:=n div t;{первая цифра}//делим на 10^r
n:=n-b+a; {замена последней}//вычитаем последнюю цифру+1первую цифру,
//стало 12345-5+1=12341
n:=n-a*t+b*t;{замена первой}//вычитаем 1*10000 и прибавляем 5*10000=52341

Добавлено через 2 минуты
RazorSoul, Еще раз скажу, алгоритм нужно придумать, тогда написать его дело техники. сли не умеете писать на Паскале, это пол беды. Вот если арифметику не знаете, это беда.
1
0 / 0 / 0
Регистрация: 06.11.2010
Сообщений: 4
06.11.2010, 22:06  [ТС]
Цитата Сообщение от Puporev Посмотреть сообщение
Например в числе 9 1 разряд=10^0. в числе 1234 4 разряда=10^3.
Сколько раз число можно разделить на 10, пока оно не станет нолем, столько и разрядов.
Но нам нужно на 1 меньше, поэтому делим пока больше 9.
Например было число 12345
t:=1;
While (n div t)>9 do//пока оно больше 9
t:=t*10;{количество разрядов}//считаем степень 10, или разряды
a:=n div t;{первая цифра}//делим на 10^r
n:=n-b+a; {замена последней}//вычитаем последнюю цифру+1первую цифру,
//стало 12345-5+1=12341
n:=n-a*t+b*t;{замена первой}//вычитаем 1*10000 и прибавляем 5*10000=52341

Добавлено через 2 минуты
RazorSoul, Еще раз скажу, алгоритм нужно придумать, тогда написать его дело техники. сли не умеете писать на Паскале, это пол беды. Вот если арифметику не знаете, это беда.
Вот теперь понятно. Всё, никаких вопросов. Спасибо огромнейшее и большой вам респект, Puporev!=) Не то чтобы я не знаю арифметику, я её вовремя применить не могу или иногда путаюсь на мелочах... Спасибо.=)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
06.11.2010, 22:06
Помогаю со студенческими работами здесь

Как связана высота прыжка с площадью поперечного сечения парашюта, чтобы скорость приземления была безопасной
Изучить, как связана высота прыжка с площадью поперечного сечения парашюта, чтобы скорость приземления была безопасной? Я так понимаю эта...

Программа с циклом Repeat . until для ввода символов
Программа с циклом Repeat .. until для ввода символов. uses Crt; Var Bukva: Char; begin repeat write(' Ввести букву: ');...

Посмотрите в чем ошибка, программа связана с вызовом функции и массивом
#include <stdio.h> #include <stdlib.h> #define m 5 #define n 4 void Arr(int x,int m,int n) { int...

Программа с циклом
У меня проблема в программе, пишу в кодеблоксе. Выдает такую ощибку. #include <stdio.h> #include <conio.h> float...

Программа с циклом While
Условие В первый день спортсмен пробежал x километров, а затем он каждый день увеличивал пробег на 10% от предыдущего значения. По...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru