![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
mafia1232 |
![]()
Сообщение
#1
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 46 Пол: Мужской Репутация: ![]() ![]() ![]() |
У меня есть несколько задач и их надо решить на завтра. Пожалуйста хелп. ОЧЕНЬ НАДО. Вот условия первой:
дан одномерный массив An подсчитать количество четных элементов и их сумму получилось вот что, но есть ошибки Исходный код program p21; uses crt; type vector=array [1..100] of integer; var A:vector; s,i,n,K:integer; procedure Init(n:integer; var A:vector;ch:char); var i:integer; begin writeln('vvod elementov massiva ',ch); for i:=1 to n do begin write('vvedite [',i,'] elementov massiva ',ch); readln(A[i]); end; end; procedure Print(n:integer;A:vector; ch:char); var i:integer; begin writeln('vivod elementov massiva ',ch); for i:=1 to n do write(A[i]:3, ' '); writeln; end; function Rez(n:integer;A:vector):integer; Var i,m:integer; begin m:=0; for i:=1 to n do if (A[i] mod 2=0) then m:=m+1; Rez:=m; end; begin clrscr; writeln('vvedite rrazmernost'); readln(n); Init(n,A,'A'); Print(n,A,'A'); K:=Rez(n,A); if K=0 then writeln('chetnix elementov net') else writeln('chislo chetnix elementov', K); readln(K); s:=s+K; writeln('symma = ',s); readln; end. Если такие темы существуют, то прошу прощения Сообщение отредактировано: volvo - 9.09.2005 9:55 |
![]() ![]() |
mafia1232 |
![]()
Сообщение
#2
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 46 Пол: Мужской Репутация: ![]() ![]() ![]() |
Вот условия второй:
сформировать массив Bm элементами которго являются нечетные элементы массива A имеющие четные индексы(не понял последний пункт условий). исходник на формирования массива из нулевых элементов массива A Исходный код program p23; uses crt; type vector=array[1..100] of integer; var A,B:vector; n,k:integer; procedure vvod(var A:vector; n:integer; ch:char); var i:integer; begin writeln('vvod elmentov massiva ',ch); for i:=1 to n do begin writeln('vvedite [',i,'] elementov massiva ',ch,' '); readln(A[i]); end; end; procedure print(A:vector;n:integer; ch:char); var i:integer; begin writeln('vivod elementov massiva ',ch); for i:=1 to n do write(A[i]:3,' '); writeln; end; procedure rez(A:vector;n:integer; Var B:vector;var k:integer); var i:integer; begin k:=0; for i:=1 to n do if A[i]=0 then begin k:=k+1; B[k]:=i; end; end; begin clrscr; writeln('vvedite ramernost massiva '); readln(n); vvod(A,n,'A'); rez(A,n,B,k); if k=0 then writeln('iskomiu massive ne svormirovan') else begin print(A,n,'A'); print(B,k,'B'); end; readln; end. переделайте плиз |
Guest |
![]()
Сообщение
#3
|
Гость ![]() |
2. Замени Rez на вот такой:
procedure rez(A:vector;n:integer; Var B:vector;var k:integer); |
volvo |
![]()
Сообщение
#4
|
Гость ![]() |
Ну а в первом задании менять придется как Rez так и основной блок программы:
function Rez(n:integer;A:vector; Var Sum: integer):integer; |
mafia1232 |
![]()
Сообщение
#5
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 46 Пол: Мужской Репутация: ![]() ![]() ![]() |
условие задачи номер 3:
Даны 3 прямоугольные матрицы различной размерности.Получить вектор, каждый компонент которого яв-ся числом элементов больше заданного "a" соответствующий столбцу матрицы вариант число элементов строки матрицы, также больше "а", введенного с клавы. Исходный код Program p25; uses crt; type matr=array[1..10,1..10] of integer; type vector=array[1..10] of integer; var n,m:integer;{razmernost' matrizi} z: integer;{chislo sravneniu} A,B,C:matr;{isxodnie matrizi} VA,VB,VC:vector;{rezyl'tat} {vvod elementov matrizi} procedure mv(name:char;n,m:integer; var A:matr); Var i,j:integer; begin for i:=1 to n do begin for j:=1 to m do begin write(' ',name,'[',i:1,',',j:1,']= '); readln(A[i,j]); end; end; end; {prozedyra pechati elementov matrizi} procedure mp(A:matr;n,m:integer); var i,j:integer; begin for i:=1 to n do begin for j:=1 to m do write(A[i,j]:4); writeln; end; end; {prozedyra pechati elementov vectora-rezyl'tata} procedure mprez(VA:vector;m:integer); var i:integer; begin for i:=1 to m do write(VA[i]:4); writeln; end; {prozedyra formirovaniya rezyl'tata} procedure mr(A:matr;z,n,m:integer;var VA:vector); var i,j,k:integer; begin for j:=1 to m do begin k:=0; for i:=1 to n do if A[i,j]>z then k:=k+1; VA[j]:=k; end; end; begin clrscr; writeln('Vvedite chislo dlya sravneniya'); Readln(z); Writeln('Vvedite razmernost pervou matrizi n i m '); readln(n,m); mv('A',n,m,A); writeln('matriza 1'); mp(A,n,m); mr(A,z,n,m,VA); writeln; writeln('rezyltat'); mprez(VA,m); readln; clrscr; writeln('vvedite ramernost 2 matrizi n i m'); readln(n,m); mv('B',n,m,B ) ; writeln('matriza 2'); mp(B,n,m); mr(B,z,n,m,VB); writeln; writeln('rezyltat'); mprez(VB,m); readln; clrscr; writeln('vvedite ramernost 3 matrizi n i m'); readln(n,m); mv('C',n,m,C); writeln('matriza 3'); mp(C,n,m); mr(C,z,n,m,VC); writeln; writeln('rezyltat'); mprez(VC,m); readln; end. Сообщение отредактировано: volvo - 9.09.2005 9:56 |
volvo |
![]()
Сообщение
#6
|
Гость ![]() |
Цитата(mafia1232 @ 2.06.05 0:16) Даны 3 прямоугольной матрицы различной размерности. Получить вектор, каждый компонент которого яв-ся числом элементов больше заданного "a" соответствующий столбцу матрицы ![]() Погоди, но тут и считается по СТОЛБЦАМ, но никак не по строкам: procedure mr(A:matr;z,n,m:integer;var VA:vector); |
mafia1232 |
![]()
Сообщение
#7
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 46 Пол: Мужской Репутация: ![]() ![]() ![]() |
прямоугольная матрица значит что у матрицы кол-во столбцов не равно
кол-ву строк. размерность разная значит ты вводищь скоко будет строк и столбцов для каждой матрицы. вот файл если надо Сообщение отредактировано: mafia1232 - 2.06.2005 0:34 Прикрепленные файлы ![]() |
volvo |
![]()
Сообщение
#8
|
Гость ![]() |
Цитата(mafia1232 @ 2.06.05 0:33) прямоугольная матрица значит что у матрицы кол-во столбцов не равно кол-ву строк. размерность разная значит ты вводищь скоко будет строк и столбцов для каждой матрицы. вот файл если надо ![]() Чего, издеваешься? Тебе вообще ничего менять не надо... Пост выше читай. Программа которую ты привел именно и работает, как тебе нужно. |
mafia1232 |
![]() ![]()
Сообщение
#9
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 46 Пол: Мужской Репутация: ![]() ![]() ![]() |
j это столбец а i строка . так что считает прога по строкам
ps: про матрицы я тебе письмо написал. (sorry for флуд) Сообщение отредактировано: mafia1232 - 2.06.2005 0:59 |
mafia1232 |
![]()
Сообщение
#10
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 46 Пол: Мужской Репутация: ![]() ![]() ![]() |
еще задачка: из каждой очередной четвертки символов строки удалить вторую пару символов.
пример на то что второю букву в первом слове удаляет из всех остальных слов program p13; |
volvo |
![]()
Сообщение
#11
|
Гость ![]() |
Цитата(mafia1232 @ 2.06.05 0:58) j это столбец а i строка. так что считает прога по строкам Я дико извиняюсь, но ИМЕННО потому, что J это столбец, а I это - строка, цикл Код for j := ... for i := ... if A[i, j] ... пройдет по элементам j = 1: A[1, 1] - A[2, 1] - A[3, 1] ... { 1-ый СТОЛБЕЦ } j = 2: A[1, 2] - A[2, 2] - A[3, 2] ... { 2-ой СТОЛБЕЦ } ... По столбцам, следовательно. Что и требовалось доказать... P.S. Флуд прекращай |
mafia1232 |
![]()
Сообщение
#12
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 46 Пол: Мужской Репутация: ![]() ![]() ![]() |
задача еще одна: ввести фамилию, имя , отчество как одну строку, состоящую из слов.
Определить длину строки и кол-во букв "а" в ней. Вывести самое короткое слово. !Ты бы лучше программы сразу себе писал, чем примеры...! :low: Мог бы проги писать сразу ![]() а про прогу на прямоугольные матрицы A[j,i] должно быть вроде что б по столбцам. а вот таким способами я решаю задачки :p12: :p1: :ypr: Сообщение отредактировано: mafia1232 - 2.06.2005 1:36 |
volvo |
![]()
Сообщение
#13
|
Гость ![]() |
Цитата(mafia1232 @ 2.06.05 1:11) а про прогу на прямоугольные матрицы A[j,i] должно быть вроде что б по столбцам. У тебя же индекс I изменяется первым - что ты никак понять не можешь, я же тебе привел пример изменения индексов матрицы, внимательно посмотри... :p12: Вот так почаще делай !!! |
hiv |
![]()
Сообщение
#14
|
![]() Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 660 Пол: Мужской Реальное имя: Михаил Репутация: ![]() ![]() ![]() |
Цитата(mafia1232 @ 2.06.05 2:11) а вот таким способами я решаю задачки :p12: :p1: :ypr: У меня другой способ: :p1: :ypr: :p12: :p1: :ypr: :p12: :p1: :D -------------------- Никогда не жадничай. Свои проблемы с любовью дари людям!
|
Guest |
![]()
Сообщение
#15
|
Гость ![]() |
про матрицы понял.
делаю, но не помогает. А оставшиеся 2 сделайте от Сегодня, 01:11 AM и Сегодня, 01:08 AM , а то очень надо. и спасибо за другие |
hiv |
![]()
Сообщение
#16
|
![]() Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 660 Пол: Мужской Реальное имя: Михаил Репутация: ![]() ![]() ![]() |
Цитата(mafia1232 @ 2.06.05 2:08) еще задачка: из каждой очередной четвертки символов строки удалить вторую пару символов. Вот решение из 4-х строк: program p13; -------------------- Никогда не жадничай. Свои проблемы с любовью дари людям!
|
hiv |
![]()
Сообщение
#17
|
![]() Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 660 Пол: Мужской Реальное имя: Михаил Репутация: ![]() ![]() ![]() |
Цитата(mafia1232 @ 2.06.05 2:11) задача еще одна: ввести фамилию, имя , отчество как одну строку, состоящую из слов. Определить длину строки и кол-во букв "а" в ней. Вывести самое короткое слово. Длину строки ты уже умеешь определять. А количество считают таким способом:
count:=0;Где count - и есть счетчик, который увеличивается на еденицу в цикле когда i-тый символ есть буква a. Ну а последнее - думаю сам сможешь сделать. Если нет, то выкладывай код - поможем! ![]() Сообщение отредактировано: hiv - 2.06.2005 9:21 -------------------- Никогда не жадничай. Свои проблемы с любовью дари людям!
|
mafia1232 |
![]()
Сообщение
#18
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 46 Пол: Мужской Репутация: ![]() ![]() ![]() |
а вопрос что делает команда "downto" а то я не въехал. объясните
а прога работает если строка без пробелов. в var не надо count прописать а то у меня ругается Сообщение отредактировано: mafia1232 - 2.06.2005 9:44 |
hiv |
![]()
Сообщение
#19
|
![]() Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 660 Пол: Мужской Реальное имя: Михаил Репутация: ![]() ![]() ![]() |
Если TO увеличивает на 1, то DOWNTO уменьшает на 1. УЧИ МАТЧАСТЬ!
А насчет пробелов в задании ничего не было сказано... -------------------- Никогда не жадничай. Свои проблемы с любовью дари людям!
|
klem4 |
![]()
Сообщение
#20
|
![]() Perl. Just code it! ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: ![]() ![]() ![]() |
удаление последней пары из каждой четверки, можно так :
uses crt; 12pp34pp56pp78pp ->>> 12345678 вариан hiv'a компактнее, но мне кажется этот проще для понимания ;) Сообщение отредактировано: klem4 - 2.06.2005 9:45 -------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
![]() ![]() |
![]() |
Текстовая версия | 18.07.2025 10:01 |