Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Delphi, Kylix and Pascal


Ответ
 
Опции темы Опции просмотра
Старый 29.06.2011, 21:20   #1 (permalink)
Suicide Silence
Новичок
 
Регистрация: 27.06.2011
Сообщений: 8
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
Question Паскаль. Матрица. Массив

Дана матрица размером 6Х6 заданная случайным образом числами от 30 до 50. Сформировать одномерный массив, в котором текущий элемент равен сумме нечетных элементов матрицы соответствующего столбца (b(j)=summa для jого столбца). Если нечетных элементов в столбце нет, то b(j)=0.
Как сделать дальше?
Опять часть получается, а другую часть незнаю как сделать='(
program pr5_3;
uses crt;
var a:array[1..6,1..6] of integer;
i,j,b:integer;
begin
clrscr;
textcolor(12);
randomize;
for i:=1 to 6 do
for j:=1 to 6 do
a[i,j]:=random(21)+30;
for i:=1 to 6 do begin
for j:=1 to 6 do
write(a[i,j]:6,' ');
writeln;
end;
readln;
end.
Suicide Silence вне форума   Ответить с цитированием

Старый 29.06.2011, 21:20
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Помочь важными ответами могут схожие топики

Турбо Паскаль или Фри Паскаль. Задание по теме Типизированный файл
Матрица, Паскаль
Массив, Паскаль
Массив, Паскаль
Паскаль, массив

Старый 29.06.2011, 21:39   #2 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от Suicide Silence Посмотреть сообщение
Как сделать дальше? Опять часть получается, а другую часть незнаю как сделать='(
Ну, то есть, конечно - ежели вопреки условию, что b - одномерный массив, Вы объявляете его простой переменной, то точно ничего не получится. Не взирая на столь полюбившиеся Вам CRT-шные игры с цветом шрифта. Ну ладно:
Код:
program pr5_3;
uses crt;
var
 a:array[1..6,1..6] of integer;
 b:array[1..6] of integer;
 i,j:integer;
begin
 clrscr;
 textcolor(12);
 randomize;
 for i:=1 to 6 do
  for j:=1 to 6 do
   a[i,j]:=random(21)+30;
 for i:=1 to 6 do
  begin
   for j:=1 to 6 do
    write(a[i,j]:6);
   writeln;
  end;
 writeln;
 writeln('Sums of odd elements in columns:');
 for j:=1 to 6 do
  begin
   b[j]:=0;
   for i:=1 to 6 do
    if (a[i,j] mod 2) = 1 then b[j]:=b[j]+a[i,j];
   write(b[j]:6);
  end;
 readln;
end.
Vladimir_S вне форума   Ответить с цитированием
Старый 29.06.2011, 21:50   #3 (permalink)
Suicide Silence
Новичок
 
Регистрация: 27.06.2011
Сообщений: 8
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Vladimir_S
Вы выручаете меня снова и снова=)
Спасибо Вам огромное!
Перед экзаменом мозги поплыли и теперь почти ничего не могу правильно написать.
Suicide Silence вне форума   Ответить с цитированием
Старый 29.06.2011, 21:52   #4 (permalink)
Suicide Silence
Новичок
 
Регистрация: 27.06.2011
Сообщений: 8
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Скажите пожалуйста, а как писать код паскаля в рамке как у вас?
Просто интересно=)
Suicide Silence вне форума   Ответить с цитированием
Старый 29.06.2011, 21:57   #5 (permalink)
Suicide Silence
Новичок
 
Регистрация: 27.06.2011
Сообщений: 8
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

И вопрос по поводу строковых элементов в Pаscal
Я их вообще не понимаю можете помочь написать программу для понятия строковых эл-тов
условия такие
1)Дана произвольная строка символов. Распечатать все слова четной длины, расположенные после слова с наибольшим количеством символов. Если таких слов нет, то выдать сообщение.
2)Дана произвольная строка символов. Составить новую строку из слов, в которых не встречается бука «н» («Н»). В результирующей стоке слова разделяются одним пробелом, в исходной – произвольным количеством пробелов.
Suicide Silence вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Старый 29.06.2011, 21:59   #6 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от Suicide Silence Посмотреть сообщение
Скажите пожалуйста, а как писать код паскаля в рамке как у вас?
Просто интересно=)
1. Перейти в "Расширенный режим".
2. Выделить текст программы.
3. Щелкнуть по значку # (можно и по php, тогда будет еще и цветная разметка - но по-моему, это лишнее):
PHP код:
var 
 
a:array[1..6,1..6of integer;
 
i,j,b:integer;
begin
 clrscr
;
 
textcolor(12);
 {
главноечто в обоих случаях сохраняются структурные элементы отступы"лесенки" и пр.} 
Vladimir_S вне форума   Ответить с цитированием
Старый 29.06.2011, 22:17   #7 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от Suicide Silence Посмотреть сообщение
Я их вообще не понимаю можете помочь написать программу для понятия строковых эл-тов
К сожалению, сегодня не смогу: устал, а работа тут немалая. Извините.
Vladimir_S вне форума   Ответить с цитированием
Старый 29.06.2011, 23:17   #8 (permalink)
Suicide Silence
Новичок
 
Регистрация: 27.06.2011
Сообщений: 8
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Все равно спасибо вам огромное Владимир!
Suicide Silence вне форума   Ответить с цитированием
Старый 30.06.2011, 16:19   #9 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от Suicide Silence Посмотреть сообщение
1)Дана произвольная строка символов. Распечатать все слова четной длины, расположенные после слова с наибольшим количеством символов. Если таких слов нет, то выдать сообщение.
Код:
CONST
 Lit=['A'..'Z']+['a'..'z']+['А'..'Я']+['а'..'я'];
VAR
 S:String;
 W:Array[1..127] of String;
 N,i,Iml,ML:Byte;

BEGIN
 For i:=1 to 127 do W[i]:='';
 Writeln('Enter the string:');
 Readln(S);
 N:=0;
 i:=0;
 REPEAT
  Repeat
   Inc(i);
  Until (S[i] in Lit) or (i=Length(S));
  If i<Length(S) then
   begin
    Inc(N);
    Repeat
     If S[i] in Lit then W[N]:=W[N]+S[i];
     Inc(i);
    Until (NOT (S[i] in Lit)) or (i=Length(S)+1);
   end;
 UNTIL i>=Length(S);
 ML:=0;
 For i:=1 to N do
  If Length(W[i])>ML then
   begin
    ML:=Length(W[i]);
    Iml:=i;
   end;
 If Iml=N then
  Writeln('The longest word is the last one')
 else
  For i:=Iml+1 to N do
   If (Length(W[i]) mod 2) = 0 then Write(W[i]+' ');
 Readln
END.
Цитата:
Сообщение от Suicide Silence Посмотреть сообщение
2)Дана произвольная строка символов. Составить новую строку из слов, в которых не встречается бука «н» («Н»). В результирующей стоке слова разделяются одним пробелом, в исходной – произвольным количеством пробелов.
Код:
CONST
 Lit=['A'..'Z']+['a'..'z']+['А'..'Я']+['а'..'я'];
VAR
 S,S1:String;
 W:Array[1..127] of String;
 b:boolean;
 N,i,j:Byte;

BEGIN
 S1:='';
 For i:=1 to 127 do W[i]:='';
 Writeln('Enter the string:');
 Readln(S);
 N:=0;
 i:=0;
 REPEAT
  Repeat
   Inc(i);
  Until (S[i] in Lit) or (i=Length(S));
  If i<Length(S) then
   begin
    Inc(N);
    Repeat
     If S[i] in Lit then W[N]:=W[N]+S[i];
     Inc(i);
    Until (NOT (S[i] in Lit)) or (i=Length(S)+1);
   end;
 UNTIL i>=Length(S);
 For i:=1 to N do
  begin
   b:=true;
   j:=0;
   Repeat
    Inc(j);
    If (W[i][j]='Н') or (W[i][j]='н') then b:=false;
   Until (b=false) or (j=Length(W[i]));
   If b then S1:=S1+W[i]+' ';
  end;
 Writeln(S1);
 Readln
END.
Vladimir_S вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 02:25.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.