Другие языки программирования и технологии
Программа на паскале! Помогите(бесплатно)
Здравствуйте уважаемые пользователи и знатоки Паскаля! Прошу вас помочь мне! Дана задача: Дана матрица размера M × N и целое число K (1 ≤ K ≤ N). После столбца матрицы с номером K вставить столбец из единиц. Нужно написать программу на паскале(бесплатно)! Программа написана, только в ней есть ошибки! Просьба посмотреть код программы и исправить ошибки! Заранее Спасибо ВАМ!!! Код: Program p75 (Input, Output); uses crt; Type Matr = Array [1..10, 1..10] Of Integer; Var X : Matr; i, j : Integer; N,F, M : Integer; Begin Clrscr; WriteLn('PASCAL: Ydalenie stroki iz matricy.'); WriteLn ('Bbedite vvodnie dannie: '); WriteLn ('Chislo strok matricy (<=10): ' ); ReadLn (N); WriteLn ('Chislo stolbcov matricy (<=10): ' ); ReadLn (F); WriteLn ('Vvedite matricy:'); For i := 1 To N Do For j := 1 To F Do Begin Write ('X[', i: 2, ',', j: 2, '] = '); ReadLn (X [i, j] ) End; Write ('Vvedite nomer pozicyy K: '); ReadLn (M); If 1<=M then begin If M<=N then begin For i := 1 To N Do For j:= M To (F+1) Do X [ i , j ] := X [ i , j ]; WriteLn ('Matrica posle udalenia stroky: '); For i := 1 To N Do Begin For j := 1 To (F+1) Do Write (X [i, j] : 4); WriteLn; End;end else begin writeln; writeln('K ne sootvetstvuet trebuemim parametram');end; end else begin writeln; writeln('K ne sootvetstvuet trebuemim parametram'); end; Writeln; Writeln('Nazmite Enter dla vixoda'); ReadLn; End.
Да.. . Почему бы вместо F не написать просто K? Это более соответствует заданию и подсказкам. Теперь оператор Write ('Vvedite nomer pozicyy K: '); ReadLn (M); Что он должен означать? Что Вы забыли (затерли, заменили количество строк в Вашей матрице. И все. Дальше можно не читать. Но посмотрим. If 1<=M then begin - это что должно означать?
А X [ i, j ] := X [ i, j ]; - это же просто крутизна. А WriteLn ('Matrica posle udalenia stroky: '); О каком удалении идет речь? Вроде в задании ничего похожего не было. Или просто передрали откуда-то, не понимая ни строчки? Надо-то что (по заданию) . До столбца К все оставить, как есть. А после него каждый столбец сдвинуть на +1. В освободившееся место (номер столбца К + 1) поставить столбец из единиц. И все. Короче, с текста Write ('Vvedite nomer pozicyy K: '); ReadLn (M); будет так:
Write ('Vvedite nomer pozicyy K: '); ReadLn (K); -- описав переменную K.
Затем
For j := N downto K + 1 Do
For i := 1 to M Do
X[ i, j+1 ] := X[ i, j ];
-- Скопировали все столбцы, правее К на одну позицию правее.
-- Осталось заполнить единички в столбец K + 1
For j := 1 to M Do
X[ i, K+1] := 1;
И все - матрица готова. Хочешь - печатай, хочешь - за забор выкинь.
А X [ i, j ] := X [ i, j ]; - это же просто крутизна. А WriteLn ('Matrica posle udalenia stroky: '); О каком удалении идет речь? Вроде в задании ничего похожего не было. Или просто передрали откуда-то, не понимая ни строчки? Надо-то что (по заданию) . До столбца К все оставить, как есть. А после него каждый столбец сдвинуть на +1. В освободившееся место (номер столбца К + 1) поставить столбец из единиц. И все. Короче, с текста Write ('Vvedite nomer pozicyy K: '); ReadLn (M); будет так:
Write ('Vvedite nomer pozicyy K: '); ReadLn (K); -- описав переменную K.
Затем
For j := N downto K + 1 Do
For i := 1 to M Do
X[ i, j+1 ] := X[ i, j ];
-- Скопировали все столбцы, правее К на одну позицию правее.
-- Осталось заполнить единички в столбец K + 1
For j := 1 to M Do
X[ i, K+1] := 1;
И все - матрица готова. Хочешь - печатай, хочешь - за забор выкинь.
никто никогда за бесплатно в чужих ошибках не копается
И мне помогите бесплатно
#!/usr/bin/perl -w
print qq(Введите число от 0 до 9: );
$r=int(rand(10));
$k=<stdin>;
$k=~s/\n//;
if($k>$r)
{
print qq(\tПеребор! Загаданное число: $r\n);
}
elsif($k==$r)
{
print qq(\tВы угадали! Загаданное число: $r\n);
}
else
{
print qq(\tНедобор! Загаданное число: $r\n);
}
#!/usr/bin/perl -w
print qq(Введите число от 0 до 9: );
$r=int(rand(10));
$k=<stdin>;
$k=~s/\n//;
if($k>$r)
{
print qq(\tПеребор! Загаданное число: $r\n);
}
elsif($k==$r)
{
print qq(\tВы угадали! Загаданное число: $r\n);
}
else
{
print qq(\tНедобор! Загаданное число: $r\n);
}
Похожие вопросы
- программа в паскале, помогите исправить ошибку плиз
- Нужно написать программы в Паскале! Массивы! Срочно! Помогите!
- Помогите составить программу на паскале!
- помогите с программами в паскале
- Помогите пожалуйста создать программу на Паскале. Заранее всем благодарен
- Помогите решить программу в паскале)
- помогите пожалуйста составить программу в паскале
- Нужно написать программу на паскале
- люди добрые помогите мне написать программу в паскале, метод Рунге Кутта. Математическое решение есть у меня
- Помогите с паскалем. Помогите написать программу переводящую из 10-ой в 16-ую систему счисления на паскале