|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
10.06.2011, 22:37 | #1 |
Регистрация: 07.06.2011
Сообщений: 9
|
Формирование и обработка массивов арифметических данных с использованием процедур с параметрами
Всем привет! Ребят, очень требуется ваша помощь!!!
Нужно решить задачу: Имеется массив С из пяти строк и 6 столбцов. 1). Сформировать одномерный массив В, содержащий все положительные элементы массива C (если элемент отрицательный, то значение элемента :=0) и двумерный массив D, содержащий координаты элементов массива B; 2). определить сумму отобранных элементов и их кол-во; 3). определить минимальное и максимальное значения отобранных элементов и их координаты и поменять местами столбцы исходной матрицы, в которой они найдены, если номера столбцов разные. Примечание: массив считывается из текстового файла и результат решения задачи выводится на черный экран(либо в текстовый файл). Буду очень благодарна за любую помощь! Заранее спасибо. Последний раз редактировалось NikaAutumn; 10.06.2011 в 22:59. |
10.06.2011, 22:42 | #2 | |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
И? Покажите ваши наработки, расскажите, что не получается или огласите сумму и способы получения вознаграждения за решение.
Цитата:
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
|
10.06.2011, 22:49 | #3 |
Регистрация: 07.06.2011
Сообщений: 9
|
Меня интересует больше пункт1.
Примерно мои мысли: for i:=1 to 5 for j:=1 to 6 begin readln(f, c[i,j]); if c[i,j]>0 then b[i]:=c[j,i]; d[?]:=i; d[?]:=j else b[i]:=0; d[?]:=i; d[?]:=j; end. Turbo Pascal |
10.06.2011, 22:50 | #4 |
Регистрация: 07.06.2011
Сообщений: 9
|
Так же у меня есть похожая задача.
выложу через пару минут |
10.06.2011, 23:04 | #5 | ||
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
Цитата:
Цитата:
upd:ой, и i же уже используется в цикле. Надо другой счетчик для В использовать.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. Последний раз редактировалось Alex11223; 10.06.2011 в 23:07. |
||
10.06.2011, 23:16 | #6 |
Регистрация: 07.06.2011
Сообщений: 9
|
PROGRAM LR5;
USES CRT; CONST M=3; N=6; TYPE TB=ARRAY [1..M,1..N] OF REAL; VAR A,AN:STRING[80]; B:TB; I,J:INTEGER; IMAX,JMAX,IMIN,JMIN:INTEGER; MIN,MAX:REAL; FI:TEXT; PROCEDURE P (B:TB; M,N:INTEGER); BEGIN FOR I:=1 TO M DO BEGIN WRITE (CHR(186)); FOR J:=1 TO N DO CASE J OF 1,2,4,5: WRITE (B[I,J]:11:4,GHR(179)); 3: WRITE (B[I,J] :11,CHR(179):2); 6: WRITELN (B[I,J]:12, CHR(186)); END; IF I = M THEN WRITELN (AN) ELSE WRITELN (A) ; END END; PROCEDURE VVOD (VAR B:TB); BEGIN ASSIGN (FI,'D:\LR5.txt'); RESET(FI); FOR I:=1 TO 4 DO BEGIN READLN (FI, A); WRITELN (A); END; READLN (FI,A); READLN (FI,AN); CLOSE(FI); RESET(FI); FOR I:=1 TO M DO FOR J:=1 TO N DO READ (FI,B[I,J]); P(B,M,N); CLOSE(FI); END; PROCEDURE OBR (VAR B:TB; M,N:INTEGER;VAR MN, MX:REAL;VAR II,12,Jl,J2:INTEGER ); VAR I,J:NTEGER; R:REAL; BEGIN MN:= B[1,1] ; MX:= B[1,1]; I1:= 1; I2:= 1; J1:=1; J2:= 1; FOR I:= 1 TO M DO FOR J :=1 TO N DO IF B[I,J] < MN THEN BEGIN MN :=B[I,J]; I1:=I; J1:=J; END ELSE IF B[I,J]>MX THEN BEGIN MX:=B[I,J]; 12:=I; J2:=J; END; WRITELN ('I1=', I1, 'J1=', J1,'I2=', I2, 'J2=',J2); B[I1,J1]:= MX; B[I2,J2] :=MN; END; { OSNOVNAYA } BEGIN CLRSCR; ASSIGN(OUTPUT,''); REWRITE(OUTPUT); VVOD (B); OBR(B,M,N,MON,MAX,IMIN,IMAX,JMIN,JM AX); WRITELN(#10#13, 'REZULTATY:', #10#13); P(B,M,N); WRITELN (#10#13,'MIN=', MIN:12, 'IMIN=',IMIN, 'JMIN=', JMIN, #10#13,'MAX=', MAX:12, 'IMAX=',IMAX, 'JMAX=', JMAX); CLOSE (OUTPUT); END . |
10.06.2011, 23:18 | #7 |
Регистрация: 07.06.2011
Сообщений: 9
|
|
10.06.2011, 23:27 | #8 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
Как-то так тогда.
Код:
Кстати, используйте тег [CODE] (значок #) для сохранения форматирования и подсветки кода в сообщении.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
10.06.2011, 23:32 | #9 |
Регистрация: 07.06.2011
Сообщений: 9
|
Координаты записываются в две строки, в 1 - i, во 2 -j.
Я сама смысла в этом не вижу... Изначально пункт один звучал так: Сформировать трехмерный массив из всех положительных значений и их индексов в исходном массиве; если таких значений нет, результат должен быть равен нулю. Но преподаватель подумал, что это сложновато-то и сказал делать два массива. |
10.06.2011, 23:41 | #10 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
Тогда так вроде.
Код:
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Обработка массивов данных | MASOFF | Помощь студентам | 0 | 21.05.2011 11:51 |
Обработка массивов с использованием подпрограмм | фалькон | Паскаль, Turbo Pascal, PascalABC.NET | 4 | 08.03.2011 18:43 |
Обработка массивов структур с использованием контейнеров | artyom060791 | Помощь студентам | 0 | 14.04.2009 22:43 |
Формирование и обработка массивов (pascal) | deceiver | Помощь студентам | 5 | 17.03.2009 17:38 |