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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 01.07.2009, 17:03   #1
Кипятилка
 
Регистрация: 27.06.2009
Сообщений: 9
Вопрос Не могу найти ошибки в задачах

написала 3 задачи, 2 не работают, одна работает не совсем правильно, помогите исправить, плз:
1. Дана действительная квадратная матрица порядка n. Преобразовать матрицу по следующему правилу: строку с номером n сделать столбцом с номером n, а столбец с номером n строкой с номером n.
Код:
 var a: array [1...n] of array [1...n] of integer;(здесь ошибку показывает)
   n,m,k,j,tmp:integer;
  begin
  randomize;
  Writeln('vvedite razmer matricy - n:');
  Readln(n);
  for j:1 to n do begin
  tmp=mas[k,j];
  writeln('ishodnaya matrica',tmp);
  mas [k,j]=mas[j,k];
  mas[j,k]=tmp;
  write('preobrazovannaya matrica',tmp)
    end;

2.	Дана строка текстов. Найти слова, состоящие только из согласных букв и вывести их на экран. 
Uses Crt;
const gl=['a','A','e','E','o','O','i','I','y','Y','u','U'];
var S,S1,S2,S3: string;
i:integer;
begin
clrScr;
randomize;
repeat
S1:=Pos(' ',S);(ошибка)
i:=1;
S2:=S1-1;
S3:=(i,S2);
if (not(S3 in gl))then
writeln(S3);
until
lenght(S3)=0;
end.
3.	Вычислить сумму 1! + 2! + 3! + … + … n! Вычисление числа k! организовать в виде подпрограммы.(здесь выводится не сразу вся сумма факториалов, а по очереди:сначала1!, потом1!+2!,1!+2!+3! и т.д., а мне только конечную сумму вывести нужно)

program P_3;
uses crt;
var k,s,i,n:integer;
        function fact(k:real):integer;
        begin
              k:=(k-1)*k;
        end;
  begin
clrscr;
   write('Vvedite celoe chislo  n=');
  readln(n);
    s:=0;
  for i:= 1 to n do begin
  s:=s+fact(i);
  writeln('summa factorialov =',s);
readln;
end;

end.

Последний раз редактировалось Stilet; 01.07.2009 в 17:14.
Кипятилка вне форума Ответить с цитированием
Старый 01.07.2009, 17:15   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
var a: array [1...n] of array [1...n] of integer;(здесь ошибку показывает)
n,m,k,j,tmp:integer;
Правильно показывает. Нельзя так, нужно образмеривать четко или пользоваться динамическимимассивами
Код:
 
Const n=20;
var a: array [1...n] of array [1...n] of integer;
   m,k,j,tmp:integer;
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 01.07.2009, 17:21   #3
NSvirus
пропагандирую жизЪ
Форумчанин
 
Аватар для NSvirus
 
Регистрация: 19.03.2007
Сообщений: 950
По умолчанию

Цитата:
var a: array [1...n] of array [1...n] of integer;(здесь ошибку показывает)
не указан размер массива, если массив заранее неизвестен пользуйтесь динамическим массивом, или исправьте так:
Код:
const
 n=...
var a: array [1..n] of array [1..n] of integer;
Цитата:
3. Вычислить сумму 1! + 2! + 3! + … + … n! Вычисление числа k! организовать в виде подпрограммы.(здесь выводится не сразу вся сумма факториалов, а по очереди:сначала1!, потом1!+2!,1!+2!+3! и т.д., а мне только конечную сумму вывести нужно)
Код:
program P_3;
uses crt;
var k,s,i,n:integer;
function fact(k:real):integer;
begin
  k:=i*k;
  fact:=k;
end;
 begin
 clrscr;
 write('Vvedite celoe chislo n=');
 readln(n);
 s:=1; k:=1;
 for i:= 2 to n do
  s:=s+fact(i);
  writeln('summa factorialov =',s);
 readln;
end.
Посторонним В.

Последний раз редактировалось NSvirus; 01.07.2009 в 19:00.
NSvirus вне форума Ответить с цитированием
Старый 01.07.2009, 17:34   #4
Кипятилка
 
Регистрация: 27.06.2009
Сообщений: 9
По умолчанию

(3) fact:=k;, тогда здесь ошибка.
(1)даже так там же ошибка, ему троеточие не нравится(попробовала все варианты)
Кипятилка вне форума Ответить с цитированием
Старый 01.07.2009, 17:58   #5
Anatole
Форумчанин
 
Аватар для Anatole
 
Регистрация: 07.04.2009
Сообщений: 245
По умолчанию

Цитата:
Const n=20;
var a: array [1..n] of array [1..n] of integer;
по синтаксису должно быть двоеточие$
Код:
function fact(k:integer):integer;
Всякое безобразие должно быть единообразным. Тогда это называется порядком.
Anatole вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите найти ошибки Qwoort Общие вопросы C/C++ 1 26.04.2009 12:50
квест- найти ошибки в проге... BadSanta Помощь студентам 1 16.03.2009 21:48
Помогите, пожалуйста, не могу исправить ошибки bunya Общие вопросы C/C++ 7 14.01.2009 22:28
Проверьте ошибки пожалуйста в задачах. velgelmina Помощь студентам 3 09.06.2007 22:10
помогите найти причину ошибки! НиКС БД в Delphi 3 10.05.2007 15:55