Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Помощь студентам


Ответ
 
Опции темы Опции просмотра
Старый 29.05.2011, 18:42   #1 (permalink)
awde
Новичок
 
Регистрация: 29.05.2011
Сообщений: 8
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию Задачи по Pascal

1)Даны результаты переписи населения, которые хранятся в памяти ЭВМ. Напечатать фамилии,имена и подсчитать общее число жителей, родившихся в 1990г.
2)Дана целая квадратная матрица n-го порядка. Определить, является ли она магическим квадратом, т.е такой, в которой суммы всех элементов во всех строках и столбцах одинаковы.
awde вне форума   Ответить с цитированием

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

Обратите внимание на похожие проблемы, возможно, что там имеется нужная информация

Pascal, две задачи
Помогите, пожалуйста, решить три задачи по Pascal

Старый 30.05.2011, 08:48   #2 (permalink)
AlexZir
support
 
Аватар для AlexZir
 
Регистрация: 19.08.2007
Адрес: Зея
Сообщений: 15,797
Записей в дневнике: 71
Сказал(а) спасибо: 166
Поблагодарили 203 раз(а) в 86 сообщениях
Репутация: 75760
По умолчанию

1) в каком формате и как именно хранятся данные в памяти ЭВМ?
2) а в диагоналях?
__________________
Убить всех человеков!
AlexZir вне форума   Ответить с цитированием
Старый 30.05.2011, 13:40   #3 (permalink)
awde
Новичок
 
Регистрация: 29.05.2011
Сообщений: 8
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

1 задачу я сам разобрал. А вот со 2 там только строки и столбцы. на счет диагонали ни чего не сказано
awde вне форума   Ответить с цитированием
Старый 30.05.2011, 14:29   #4 (permalink)
AlexZir
support
 
Аватар для AlexZir
 
Регистрация: 19.08.2007
Адрес: Зея
Сообщений: 15,797
Записей в дневнике: 71
Сказал(а) спасибо: 166
Поблагодарили 203 раз(а) в 86 сообщениях
Репутация: 75760
По умолчанию

А что, неужели посчитать и сравнить суммы сначала построчно, потом по столбцам - так уж трудно? Считаете сумму элементов первой строки, потом - второй и сравниваете, если равны - переходите к третьей и т.д. Если не равны - выходите из цикла и выдаете сообщение о том, что квадрат не магический
__________________
Убить всех человеков!
AlexZir вне форума   Ответить с цитированием
Старый 30.05.2011, 15:59   #5 (permalink)
awde
Новичок
 
Регистрация: 29.05.2011
Сообщений: 8
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

буду пробовать
awde вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Старый 30.05.2011, 16:17   #6 (permalink)
awde
Новичок
 
Регистрация: 29.05.2011
Сообщений: 8
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Вот еще задачи:
1)Дана строка. Словом в ней назовем последовательность подряд идущих латинских букв(больших или маленьких). Найти количество слов, начинающихся с буквы А.
2)Дана строка, состоящая из русских слов, набранных заглавными буквами и разделенная пробелами(одним или несколькими). Найти количество слов, которые содержат ровно 3 буквы А.
3)Дан текстовый файл. Записать во второй файл в алфавитном порядке все слова из исходного файла, имеющие заданную длину N.



в 1 и 2 не получается правильный подсчет. А вот 3 я вообще не понял
awde вне форума   Ответить с цитированием
Старый 30.05.2011, 16:40   #7 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от awde Посмотреть сообщение
А вот 3 я вообще не понял
Ну тут как раз помочь легко, поскольку недавно я уже выкладывал решение аналогичной задачи. Единственная разница, что там найденные слова выводились на экран, а Вам надо в другой файл. Надеюсь, что с этим Вы справитесь. А так программа (моя, естественно) полностью отлажена.
Работа с текстовым файлом, Pascal
Vladimir_S вне форума   Ответить с цитированием
Старый 30.05.2011, 16:52   #8 (permalink)
awde
Новичок
 
Регистрация: 29.05.2011
Сообщений: 8
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

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

Цитата:
Сообщение от awde Посмотреть сообщение
1)Дана строка. Словом в ней назовем последовательность подряд идущих латинских букв(больших или маленьких). Найти количество слов, начинающихся с буквы А.
Код:
VAR
 S:String;
 i,N:Byte;

Function B(CB:Char):Boolean;
begin
 B:=((Ord(CB)>64) and (Ord(CB)<91)) or
    ((Ord(CB)>96) and (Ord(CB)<123));
end;

BEGIN
 Writeln('Enter the string:');
 Readln(S);
 If S[1]='A' then N:=1 else N:=0;
 For i:=2 to Length(S) do
  If (B(S[i-1])=false) and (S[i]='A') then Inc(N);
 Writeln('N= ',N);
 Readln;
END.
Vladimir_S вне форума   Ответить с цитированием
Старый 30.05.2011, 20:55   #10 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от awde Посмотреть сообщение
2)Дана строка, состоящая из русских слов, набранных заглавными буквами и разделенная пробелами(одним или несколькими). Найти количество слов, которые содержат ровно 3 буквы А.
Код:
VAR
 S:String;
 i,j,N,NA,i1,i2:Byte;
 W:Array[1..100] of String;
 C:Array[1..100] of Byte;

BEGIN
 Writeln('Enter the string:');
 Readln(S);
 i:=0;
 N:=0;
 Repeat
  Repeat
   Inc(i);
  Until S[i]<>' ';
  i1:=i;
  While (S[i]<>' ') and (i<Length(S)) do
   Inc(i);
  If i=Length(S) then i2:=i else i2:=i-1;
  Inc(N);
  W[N]:=Copy(S,i1,i2-i1+1);
 Until i=Length(S);

 For i:=1 to N do C[i]:=0;

 For i:=1 to N do
  For j:=1 to Length(W[i]) do
   If W[i][j]='А' then Inc(C[i]);

 NA:=0;
 For i:=1 to N do
  If C[i]=3 then Inc(NA);

 Writeln('The number of words, containing 3 "А" letters, is ',NA);

 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, время: 19:35.

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