Убедительная просьба ко всем, кто выкладывает исходники: 1. Обязательно пользуйтесь тэгом code (иначе очень трудно читать)
2. Старайтесь делать отступы
Если вы хотите чтобы вам помогли в написании программы, внятно излагайте задание!
Прежде чем задать вопрос, воспользуйтесь учебником
Возможно, что нужная вам программа уже написана, поэтому советую просмотреть список здесь и здесь Отредактировано куратором: Lord_of_Darkness. Дата: 07.07.2006 19:36
Помогите кто-нибудь!
Мне нужно решить задачу в Pascal, а я вообще не разбираюсь.
Текст:
Дан целочисленный массив размера N. Вывести вначале все содержащиеся в нем четные числа в порядке возрастания их индексов, а затем все нечетные числа в порядке убывания их индексов.
Куратор темы Статус: Не в сети Регистрация: 03.01.2004 Откуда: Питер
SK8
Код:
uses crt; const N = 30; var i: integer; A: array [1..N] of integer; begin clrscr; randomize; writeln('Source array:'); for i:=1 to N do begin A[i]:=random(100); write(A[i],' '); end;
writeln; writeln('Even numbers :'); for i:=1 to N do if (A[i] mod 2) = 0 then write(A[i],' ');
writeln; writeln('Odd numbers :'); for i:=N downto 1 do if (A[i] mod 2) <> 0 then write(A[i],' ');
readln; end.
_________________ Здесь так мало тех, с кем легко говорить,
Еще меньше тех, с кем не страшно молчать (c)
Дан массив а размерности NxN, каждый элемент которого равен 0, 1, 5 или 11. Подсчитать в нем количество четверок a[i,j], a[i+1, j], a[i, j+1], a[i+1, j +1] в каждой из которых все элементы различны.
Lord_of_Darkness помоги плиз оформить эту задачку.
Member
Статус: Не в сети Регистрация: 30.01.2006 Откуда: Минск
Luga, вот.
Код:
const NeedSum=17; var n,i,j:integer; a:array[1..100,1..100] of integer; CheckSum,s:integer; begin randomize; write('n='); readln(n); for i:=1 to n do begin for j:=1 to n do begin a[i,j]:=random(4); if a[i,j]=2 then a[i,j]:=5; if a[i,j]=3 then a[i,j]:=11; write(a[i,j]:4); end; writeln; end; s:=0; for i:=1 to n-1 do for j:=1 to n-1 do begin CheckSum:=a[i,j]+a[i+1,j]+a[i,j+1]+a[i+1,j+1]; if CheckSum=NeedSum then s:=s+1; end; writeln('Total number ',s); end.
Member
Статус: Не в сети Регистрация: 24.02.2006 Откуда: Краснодар
Опрелелить, является ли число счастливым(сумма первой половины цифр числа равна второй). Пример: 261342 -счастливое.
Помогите найти ошибку, все время указывает на do, пишет Error 39.
Код:
program one; var S,S1,i:integer; n:string; k,k1:integer; c,c1:byte;
begin
S:=0; S1:=0;
writeln('vvedite chislo, n='); readln(n);
for i:=1 to length(n)/2 do begin val(N,k,c); S:=S+k end; for i:=length(n)/2+1 to length(n) do begin val(N,k1,c1); S1:=S1+k1 end;
if S=S1 then writeln(N,'-schastlivoe') else writeln(N,'-ne schastlivoe');
Куратор темы Статус: Не в сети Регистрация: 03.01.2004 Откуда: Питер
zholf используй div (а еще лучше _число_ shr 1), иначе у тебя получается дробное число, а это недопустимо.
ЗЫ кстати тут уже была парочка решений такой задачи, но не через string, а используя обычный integer (в этом то и суть задания), так что юзай поиск.
_________________ Здесь так мало тех, с кем легко говорить,
Еще меньше тех, с кем не страшно молчать (c)
Куратор темы Статус: Не в сети Регистрация: 03.01.2004 Откуда: Питер
E1dar №1
метод "решето Эратосфена"
Код:
const ArrayLength = 10000;
var SimpleNums: array [1..ArrayLength] of longword; N, k, i, j: longword; flag: boolean;
begin write('N = '); readln(N); writeln('Simple numbers:'); write('2 '); SimpleNums[1]:=2; k:=1; for i:=3 to N do begin flag:=true; for j:=1 to k do if (i mod SimpleNums[j]) = 0 then begin flag:=false; break; end;
if flag then begin inc(k); SimpleNums[k]:=i; write(i,' '); end; end; readln; end.
№2
Код:
var a, b, i: integer; hsum, ArMean: real;
begin ArMean:=0; for i:=1 to 50 do begin if i=3 then begin hsum:=(a+b)/2; b:=0; end; write('Number',i,'= '); if i=2 then read(b) else read(a); if (a>hsum) and (i>2) then begin ArMean:=ArMean+a; inc(b); end; end; ArMean:=ArMean/b; writeln('arithmetical mean is ',ArMean:8:3); readln; end.
№4
Код:
var Marks: array [1..1000] of integer; k, i, max, min, mxind, mnind: integer; index: byte; resm: real;
begin k:=0; repeat writeln('1. Add mark'); writeln('2. Calculate'); writeln('3. Exit'); readln(index); if index = 1 then begin inc(k); write('Mark = '); readln(Marks[k]); end; if (index = 2) and (k<3) then begin writeln('Error. Count of marks < 3'); index:=3; end; until index>=2;
if index = 2 then begin max:=Marks[1]; mxind:=1; min:=Marks[1]; mnind:=1; resm:=Marks[1]; for i:=2 to k do begin if Marks[i]>max then begin max:=Marks[i]; mxind:=i; end else if Marks[i]<min then begin min:=Marks[i]; mnind:=i; end; resm:=resm+Marks[i]; end;
resm:=(resm-Marks[mnind]-Marks[mxind])/(k-2);
write('Result mark = ',resm:8:3); readln; end;
end.
E1dar писал(а):
3. Вводится последовательность чисел, оканчивается нулем. Найти номер наибольшего числа в последовательности; два наименъших числа последовательности.
поясни каким образом вводится. Вводить по разному можно, сплошной строкой или с разделителями или через enter?
_________________ Здесь так мало тех, с кем легко говорить,
Еще меньше тех, с кем не страшно молчать (c)
Member
Статус: Не в сети Регистрация: 08.12.2005 Откуда: Питер!
всем привет! снова нужен хелп по задачкам:
1) Ввести число. Вывести строку, представляющую собой запись этого числа в шестнадцатеричной системе счисления.
2) построить квадратную матрицу D (m x m) :
3) Составить программу для ввода квадратной матрицы A (n x n). Вычислить и вывести на экран монитора величины S1, S2 суммы элементов(следы), соответственно, двух главных диагоналей матрицы A.
Заранее и просьба без всяких наворотов, а то мне потом и самому не разобраться и преподу не рассказать :oops:
Куратор темы Статус: Не в сети Регистрация: 03.01.2004 Откуда: Питер
MW! 1.
Код:
uses crt;
const hDig: array [0..15] of char = ('0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F');
var Num: longword; s: string; i: word; begin clrscr; write('Number = '); readln(Num); s:=''; while Num>0 do begin s:=s+hDig[Num and $F]; Num:=Num shr 4; end;
write('Hex number = '); for i:=Length(s) downto 1 do write(s[i]);
readln; end.
дальше лениво такой элементарщиной заниматься. Кстати, что-то подобное заданию №3 я уже тут выкладывал, поищи.
_________________ Здесь так мало тех, с кем легко говорить,
Еще меньше тех, с кем не страшно молчать (c)
Последний раз редактировалось Lord_of_Darkness 13.12.2006 19:20, всего редактировалось 2 раз(а).
Куратор темы Статус: Не в сети Регистрация: 03.01.2004 Откуда: Питер
MW! писал(а):
может всёже вторую подскажешь
неужели все действительно так плохо?
Код:
uses crt;
const m = 10;
var i, j: integer; D: array [1..m,1..m] of real;
begin clrscr; for i:=1 to m do begin D[i,1]:=0.1*(11-i); for j:=2 to m do if j>i then D[i,j]:=D[i,j-1]-0.1 else D[i,j]:=D[i,j-1]; end;
for i:=1 to m do begin for j:=1 to m do write(D[i,j]:2:1,' '); writeln; end;
readln; end.
MW! писал(а):
двух главных диагоналей матрицы A
это чтож за надругательство над теорией матриц?
"Главной диагональю квадратной матрицы называется диагональ, идущая от ее верхнего левого угла к нижнему правому углу."
как их может быть несколько? Может главной и побочной?
_________________ Здесь так мало тех, с кем легко говорить,
Еще меньше тех, с кем не страшно молчать (c)
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения