Консультация № 47043
22.06.2006, 13:25
0.00 руб.
0 18 1
Здраствуйте уважаемые эксперты!Помогите решить несколько задач на паскале.
1.Напишите функцию натурального числа n чтобы найти сумма чисел.Первоначальные данные - в порядке натуральных чисел не равных нулю.Признак окончания порядка - нуль.Напишите программу,которая выводила бы на экран каждое число порядка,его сумму числе и слово "ЧЁТНОЕ" , когда эта эта сумма чётная или "НЕ ЧЁТНОЕ" ,когд эта сумма не чётная.
Пример:257 - cумма чисел:14 - чётное
124 - сумма числе:7 - не чётное
2.Дана матрица , составленная из n строк, и m столбцов.Вертикальная и горизонтальная ось симетрии делит матрица на 4 части.Их поменять между собой крест на крест.
3.Дан текстовый файл.Строки текста записать в новый текстовый файл так,что бы первые буквы строки были записаны в обратном алфавитном порядке,латиницей.
*Все это переводились с другого языка,поэтому заранее извеняюсь.

Обсуждение

давно
Мастер-Эксперт
425
4118
22.06.2006, 13:58
общий
Молодой человек. "Помогите" - это когда Вы начали что-то делать и у Вас не получается. В этом случае Вы пишете, что конкретно у Вас не получается и эксперты Вам помогают. Вы же сейчас переписали свое задание и говорите "сделайте это все за меня".Вам не стыдно?
Об авторе:
Я только в одном глубоко убеждён - не надо иметь убеждений! :)
Неизвестный
22.06.2006, 14:16
общий
Стыдно,но уменя очень мало времени осталось,а именно эти задания я никак не могу осилить...Первое задание попросу не понимаю,что там нужно сделать.в примере дана сумма чисел 257?а от куда 14-чётное...2oe задание:var a:array [1..20 , 1..20] of integer; n,m,i,j:integer;beginwriteln(‘Введи размер массива‘);readln(n,m);for i:=1 to n dofor j:=1 to m doa[i,j]:=-10 + random(21);writeln(‘Полученный массив‘);for i:=1 to n dobeginfor j:=1 to m dowrite(a[i,j]:5);writeln;end;writeln(‘Повёрнутый массив‘);for j:=1 to m dobeginfor i:=1 to n dowrite(a[i,j]:5); - не могу в этом месте организовать перемещение элементов.
Неизвестный
22.06.2006, 15:00
общий
это ответ
Здравствуйте, Koshelev Dmitriy Nikolaevich!
Если я правильно понял условие первой задачи, то решение примерно такое

Приложение:
var n,sum:integer;begin sum:=0; while n<>0 do begin readln(n); sum:=sum+n; end; if (sum mod 2)=0 then writeln(sum,‘-чётное‘) else writeln(sum,‘-нечётное‘); end.
Неизвестный
22.06.2006, 15:15
общий
Условие 2-ой задачи перестало быть понятным.Одно дело симметрия крест на крест (кстати, точно не уверен, что правильно понимаю, что это), другое дело - поворот на 90°. Который, тем более, нельзя осуществить для неквадратных матриц.
давно
Мастер-Эксперт
425
4118
22.06.2006, 16:01
общий
По поводу задания 2. Эксперт Сухомлин прав, повернуть можно только квадратную матрицу, т.к. если кол-во строк и столбцов неодинаково, то часть матрицы у Вас просто уйдет в небытие, а вместо части будет неопределенные значения.По поводу поворота посмотрите здесь:http://infopasc.al.ru/examples/array/array.txt
Об авторе:
Я только в одном глубоко убеждён - не надо иметь убеждений! :)
давно
Мастер-Эксперт
425
4118
22.06.2006, 16:04
общий
По поводу задания 1, было бы неплохо оригинал посмотреть. :)
Об авторе:
Я только в одном глубоко убеждён - не надо иметь убеждений! :)
Неизвестный
22.06.2006, 16:33
общий
Оригинал условия 1го задания?Второе задание,извеняюсь ,опечатался...элементы дожны менятся местами по диагонали.Выглядеть должно примено так:Вводим:2 0 1 0 0 1 4 1 1 1 0 3 4 2 1 0 Получаем:0 0 1 40 0 1 11 4 1 30 2 1 2
Неизвестный
22.06.2006, 16:51
общий
Т.е. симметрично отобразить обе диагонали относительно центра?Во-первых, диагонали есть, опять же, только у квадратных матриц. Во-вторых, что именно вам сложно? Поменть местами два числа в массиве? Для этого в функцию(процедуру) надо передавать параметры не по значению, а по ссылке (писать var перед переменными) - тогда значения, переданные процедуре будут измененными после выхода из процедуры.function swap(var a: integer; var b: integer);var c: integer;begin c := a; a := b; b := c;end;Естественно, вызывать надо только для половины длинны диагонали:for i := 1 to n div 2 do swap(a[i,i], a[n-i,n-i]);И вторая диагональ:for i := 1 to n div 2 do swap(a[n-i,i], a[i,n-i]);Уж куда этот код вставлять, наверное, сами догадаетесь.А вообще, я так понимаю, вы переводили электронным переводчиком, который исказил условия. Вы уж извините, но по-моему, с англ. у вас плохо. Покажите условия в оригинале (если это был англ., конечно) - может быть, разберемся.
Неизвестный
22.06.2006, 19:40
общий
С Английским у меня отлично,все задания переведённые с Литовского языка,могу кинуть ; )в любом случае спасибо и на этом.
Неизвестный
22.06.2006, 20:52
общий
257 - это не сумма чисел, а 257 - это число;сумма его цифр - 14; а 14 - это число четное... что не понятно?
Неизвестный
22.06.2006, 20:58
общий
второе задание я понимаю как: дана матрица1 4 9 0 2 5 7 11 4 5 58 8 9 0она разбивается на 4 части:1 4 --- 9 0 2 5 --- 7 1------------1 4 --- 5 58 8 --- 9 0и левая верхняя часть меняется местами с правой нижней, а правая верхняя с левой нижней, т.е.5 5 1 49 0 8 89 0 1 47 1 2 5При случае, если n или m нечетное, думаю, что средние элементы оставить на месте например:1 2 3 4 56 7 8 9 05 4 3 2 12 1 3 5 46 7 8 9 04 5 3 1 2Вот как я считаю...
давно
Мастер-Эксперт
425
4118
23.06.2006, 05:57
общий
To Евгения:"Сумма чисел" и "сумма цифр числа" - это совершенно разные вещи, согласитесь.Если Вы догадались правильно (а я думаю, что так оно и есть), стоит подождать подтверждения автора. :)
Об авторе:
Я только в одном глубоко убеждён - не надо иметь убеждений! :)
давно
Мастер-Эксперт
425
4118
23.06.2006, 06:01
общий
To Koshelev Dmitriy Nikolaevich:Значит никто из Ваших друзей, коллег или знакомых не владеет настолько хорошо литовским, чтобы разъяснить Вам разницу между термином "число" и термином "цифра"?Ведь в Вашем случае следствием ошибки в смысловом переводе будет невозможность решить задание.
Об авторе:
Я только в одном глубоко убеждён - не надо иметь убеждений! :)
Неизвестный
23.06.2006, 08:39
общий
sir henryя согласна - но он же с Литовского переводил...судя по примеру - это именно сумма цифр :)
Неизвестный
23.06.2006, 08:41
общий
Koshelev Dmitriy Nikolaevichу меня есть знакомые Литовцы, говорящие по-русски - если пришлете оригинал задания, я попробую их попросить перевести по-нормальному :)
давно
Мастер-Эксперт
425
4118
23.06.2006, 08:47
общий
To Евгения:У Вас отлично голова работает. Чего не скажешь обо мне, к сожалению.Я вот, например, смысла не понял. :)
Об авторе:
Я только в одном глубоко убеждён - не надо иметь убеждений! :)
Неизвестный
23.06.2006, 08:57
общий
sir henryспасибо! не жалуюсь...только за одну голову никто особо хорошей работы не предлагает :)
Неизвестный
23.06.2006, 10:38
общий
Сумма цифр всё таки.Užduotys:Parašykite funkcija natūraliojo skaiciaus n skaitmenų sumai rasti.Pradiniai duomenys - natūraliujų skaičiu nelygių nuiliui seka.Sekos pabaigos požymis - nulis.Parašykite programą,kuri spausdintų kiekvieną sekos skaicių,jo skaitmenų suma ir zodį LYGINĖ , kai tai suma lyginė , arba NELYGINĖ,kai suma nelyginė.Pvz.: 257 - skaitmenų suma: 14 - LYGINĖ124 - skaitmenų sumą : 7 - NELYGINĖ
Форма ответа