Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.06.2011, 23:13   #1
gena1128
Новичок
Джуниор
 
Регистрация: 30.05.2011
Сообщений: 3
Восклицание 3 задачи: на простые числа, на матрицу и на обработку строки. Дорешать. Паскаль

1. в интервале от а до б найти все парные простые числа. парными простыми числами называют два простых числа, разность между которыми равна 2. например 3 и5, 11 и 13, 17 и 19.

Код:
var a,b,k,i,x,y:integer;
n:array[1..200] of integer;
begin
read(a,b);
for i:=a to b do
n[i]:=i;
k:=a;
repeat
x:=n[k];
y:=n[k+2];
writeln(x,' ',y);
k:=k+1;
until y=b
end.
2.дана вещественная матрица размером 7 на 7, все элементы которой различны. найти скалярное произведение строки в которой находится наибольший элемент матрицы на столбец с наименьшим элементом.

Код:
Program zadacha2;
type Matrix = array[1..7,1..7] of integer;
var min, max, imax, jmin, i, j, res: integer;
m: Matrix;
begin
for i := 1 to 7 do
for j := 1 to 7 do
read(m[i, j]);
{ввод матрицы}
max := m[1, 1]; min := m[1, 1]; imax := 1; jmin := 1;
for i := 1 to 7 do
for j := 1 to 7 do
begin
if m[i, j] > max then begin max := m[i, j]; imax := i end;
if m[i, j] < min then begin min := m[i, j]; jmin := j end;
end;
{нашли нужные строку и столбец}
res := 0;
for i := 1 to 7 do res := res + m[imax, i] * m[i, jmin];
writeln(res);
end
3.отредактировать заданное предложение удаляя из него все слова с нечетными номерами и переворачивая слова с четными номерами.
Код:
var s,a: string;
i,g,x: integer;
ch: char;
begin
read(s);
j:=1;
i:=1;
s:=s+' ';
while i<=length(s) do
begin
if odd(j) then
begin
while s[i]<>' ' do delete(s,i,1);
delete(s,i,1);
j:=j+1;
end
else
begin
g:=i;
while s[g]<>' ' do g:=g+1;
g:=g-1;
x:=0;
while (x*2)<(g-i) do
begin
ch:=s[g-x]
s[g-x]:=s[i-x];
s[i-x]:=ch;
x:=x+1;
end;
i:=g+2;
end;
if s[length(s)]=' ' then delete(s,length(s),1);
end.
___________
1) Название темы должно адекватно отражать суть решаемой задачи/проблемы.
На первый раз я исправил.
В дальнейшем темы с подобным названием будут закрываться/удаляться.

2) Код нужно оформлять по правилам:
тегом [CODE]..[/СODE] (это кнопочка с решёточкой #)

Не забывайте об этом!

Модератор.

Последний раз редактировалось Serge_Bliznykov; 02.06.2011 в 08:18.
gena1128 вне форума Ответить с цитированием
Старый 01.06.2011, 23:14   #2
Mors13
Пользователь
 
Регистрация: 26.04.2011
Сообщений: 10
По умолчанию .

это паскаль? могу помочь на с++
Mors13 вне форума Ответить с цитированием
Старый 02.06.2011, 08:23   #3
excorsist
 
Аватар для excorsist
 
Регистрация: 10.11.2009
Сообщений: 7
По умолчанию

Вроде всё правильно. А что не так то?
excorsist вне форума Ответить с цитированием
Старый 02.06.2011, 08:35   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

1-я задача. Проверки на простоту нет. Зачем-то добавлен массив, который в данной задаче совсем не нужен... ну и т.д..
попробуйте так:
Код:
function isPrime(X: LongInt): boolean;
var i: integer;
Begin
     isPrime:=false;
     if x<2 then Exit;
     if not odd(x) and (x<>2) { проверяем на чётность  }
          then exit;
     i:=3;
     while i <= sqrt(x) do { проверяем только нечётные }
     begin
          if x mod i = 0 then Exit;
          inc(i,2);
     end;
     isPrime:=true;
End;

var i, a, b : LongInt;
begin  
   WriteLn('Введите границы диапазона ( a .. b ):');
   Readln(a, b);
   for i:=a to b-2 do
     if  isPrime(i) and isPrime(i+2) then WriteLn(i,' ',i+2);
   Readln;
end.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 02.06.2011, 08:44   #5
Азамат Казанчев
Форумчанин
 
Регистрация: 25.04.2011
Сообщений: 110
По умолчанию

по первому коду:
1. где ты вводишь значения а и б
2. для создания цикла for i:=a to b do надо что бы а<б , у тебя где это проверяется?
3. зачем n:array[1..200] of integer; я не понял(пиши коменты)
4. цикл определения парных простых чисел также не понятен, если твое определение парного простого числа, данное выше, правильное
остальноые я даже не смотрел, то что я написал это мои догадки
Азамат Казанчев вне форума Ответить с цитированием
Старый 02.06.2011, 18:19   #6
gena1128
Новичок
Джуниор
 
Регистрация: 30.05.2011
Сообщений: 3
По умолчанию

НУ да это Паскаль!!!!
gena1128 вне форума Ответить с цитированием
Старый 02.06.2011, 18:21   #7
gena1128
Новичок
Джуниор
 
Регистрация: 30.05.2011
Сообщений: 3
По умолчанию

А с другими задачами помочь можешь???!!! Просто я сам не шару в этом племянница попросила решить ей препод дал в институте и сказал дорешать и исправить ошибки!!!
gena1128 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задачи на матрицу и строки Kotia_19 Помощь студентам 0 07.02.2011 22:53
простые числа (паскаль) RAVAL(c) Помощь студентам 9 28.12.2010 02:41
найти определённые простые числа в интервале [Паскаль] Юкоша Помощь студентам 4 24.12.2010 15:57
Delphi: 2 простые задачи на массивы и матрицу theFEAR Помощь студентам 2 14.12.2009 19:12
задачи: на двумерные массивы,обработку строк,обработку текстовых файлов. (Паскаль) Yaro Помощь студентам 2 12.11.2009 12:55