Turbo Pascal

C0opeR

pengui
Эм, я уже написал :), только для ограниченого количества значений, кому интерестно, вот:
Program trylala;
uses wincrt;
var a,k,n:integer;
begin
writeln('Задайте значения a');
for a:=1 to 5 do
begin
readln(n);
if n=0 then
k:=k+1;
end;
writeln('k= ', k);
end.
 

Пух

كنت بلهاء
Модератор
можно немного изменить (думаю так правильней будет)
Код:
Program trylala;
uses crt;  //в Turbo Pascal 7.0 нету модуля wincrt 
var a,k,n,kol:integer;
begin
clrscr;
writeln('Введите количество элементов'); /* логичней узнать количество элементов
readln(kol);                                               до начала иницилизации значений */
writeln('Задайте значения a');
for a:=1 to kol do
begin
readln(n);
if n=0 then
k:=k+1;
end;
writeln('k= ', k);
readkey; // задержка 
end.
 

C0opeR

pengui
можно немного изменить (думаю так правильней будет)
Код:
Program trylala;
uses crt;  //в Turbo Pascal 7.0 нету модуля wincrt 
var a,k,n,kol:integer;
begin
clrscr;
writeln('Введите количество элементов'); /* логичней узнать количество элементов
readln(kol);                                               до начала иницилизации значений */
writeln('Задайте значения a');
for a:=1 to kol do
begin
readln(n);
if n=0 then
k:=k+1;
end;
writeln('k= ', k);
readkey; // задержка 
end.
Спасибо :), то что нужно, ммм насчет модуля, дело в том, что я писал в Borland Pascal 7.0, там наоборот :), я только начинающий програмист :eek:, почемуто не подумал обозначить количество елементов отдельной переменной :(!!1
 

C0opeR

pengui
Помогите решить, ну ниче никак не могу понять массивы
Turbo Pascal
1)Есть натуральное число N и последовательность попарно разных действительных чисел a1,a2,a3,...,an. Нужно поменять местами, в дано последовательности, найменьший член с членом, который стоит на K месте...!!!
(С использованием 1-но мерного массива)...
2)Задано таблицу A[i,j], где i,j=1,2,3,...,m, которая имеет только действительные числа, с помощью таблици найти элементы Cj, j=1,2,3,...,m, значения которых равны сумме элементов соответственных рядков таблици...!!!
(Двомерный массив)...

ЗЫ: sorry за ошибки, если есть в правописании
 

Пух

كنت بلهاء
Модератор
Помогите решить, ну ниче никак не могу понять массивы
Turbo Pascal
1)Есть натуральное число N и последовательность попарно разных действительных чисел a1,a2,a3,...,an. Нужно поменять местами, в дано последовательности, найменьший член с членом, который стоит на K месте...!!!
(С использованием 1-но мерного массива)...
2)Задано таблицу A[i,j], где i,j=1,2,3,...,m, которая имеет только действительные числа, с помощью таблици найти элементы Cj, j=1,2,3,...,m, значения которых равны сумме элементов соответственных рядков таблици...!!!
(Двомерный массив)...

ЗЫ: sorry за ошибки, если есть в правописании
насколько я понял условие, то 1я
Код:
uses crt;
const n=10;
var i,min,t,t1,k:integer;
      a:array[1..n] of integer;
begin
clrscr;
readln(k);
randomize;
a[1]:=random(30)-15;
min:=a[1];
write(a[1],',');
t1:=1;
for i:=2 to n do
  begin
      a[i]:=random(30)-15;
      write(a[i],',');
    if a[i]<min then
              begin
                 min:=a[i];
                 t1:=i;
              end;
 end;
t:=a[t1];
a[t1]:=a[k];
a[k]:=t;
writeln('');
 for i:=1 to n do
    write(a[i],',');
readkey;
end.
писал прямо здесь, по этому могут быть ошибки/опечатки, но смысл такой)
 
Останнє редагування:

Пух

كنت بلهاء
Модератор
2я. тоже не проверял, но принцип такой)

Код:
uses crt;
const m=10;
var 
     i,j,k,sum:integer;
     a:array[1..m,1..m] of integer;
     c:array[1..m] of integer;
begin
crlscr;
randomize;
k:=1;
  for i:=1 to m do
     begin
       c[i]:=0;
         for j:=1 to m do
              begin
                 a[i,j]:=random(30)-15;
                 c[i]:=c[i]+a[i,j];
                 gotoxy(k,j);
                 write(a[i,j]);
              end;
     gotoxy(k,m+2);
     write(c[i]);
     inc(k,8);
  end;
readkey;
end.
 
Останнє редагування:

LaCOSt1k

New Member
помогите пожалуста с 2 задачами.



Знайти мінімальний і максимальний елементи масиву A[1..10, 1..5] і поміняти їх місцями.


В двовимірному масиві А[1..5,1..5] знайти найменший елемент побічної діагоналі.
 

Маришенька

Life is different colours
кто может посмотрите задачи, где то ошибки не могу понять где,

В одномерном целочисленном масиве заполненым случайными числами реализовать цикличные перестановки на заданое кол-во шагов( ввод с клавиатуры), массив вывести строкой
Код:
program mas4;
uses crt;
var
a:array[1..10] of integer;
i,m,l,n:byte;
begin
randomize;
for i:=1 to 10 do
 begin
    a[i]:=random(10);
    write(a[i],' ');
  end;
 write('к-во шагов');
 readln(n);
 for l:=1 to n do
[COLOR="Red"]    begin
    m:=a[10];
    a[10]:=a[1];
    a[1]:=m;
    end;[/COLOR]
for i:=1 to 10 do
write(a[i],' ');
end.
судя по всему ошибка где то в перестановках,но где(найти сама не могу.


И вторая задача тож с ошибкой
В одномерный целочис. массив ввести информацию с клавиатуры и реализовать поиск первого вхождения. Инф для поиска с клавиатуры, массив - строка, вывести результат поиска.

Код:
program mas7;
uses crt;
var
a:array[1..10] of integer;
i,x,n,p:byte;
write('Введите эл. массива');
x:=wherex;
for i:=1 to 10 do
begin
clreol;
write('a[',i,']= ');
read(a[i]);
end;
for i:=1 to 10 do
write(a[i],' ');
write('Введите число для поиска');
read(n);
while a[i]<>n do
i:=i+1;
write('Первое вхождение',n,'на',a[i],'месте'); {здесь надо вывести номер искомого элем. и его индекс}
end;
про последнюю задачу там такая каша, я правда заметила что у меня выводит элемент по индексу, во всяком случае так было до десятка исправлений, кто может помогите пожал.
 

Пух

كنت بلهاء
Модератор

поменять на

и
write('Первое вхождение',n,'на',a,'месте');

поменять на
write('Первое вхождение',n,'на',i,'месте');
не будет работать правильно, если искомого элемента нету в массиве. Для этого нужно делать проверку (юзать флажок какой-то, например)
 
Зверху