Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Delphi > Паскаль
Регистрация

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

Ответ
 
Опции темы
Старый 19.11.2017, 18:29   #1
Kamelok
Пользователь
 
Регистрация: 19.11.2017
Сообщений: 36
Репутация: 10
По умолчанию Массивы.

В матрице поменять местами I-тую строку и J-тый столбец, на языке Pascal. Как это сделать?
Kamelok вне форума   Ответить с цитированием
Старый 20.11.2017, 10:30   #2
Serge_Bliznykov
МегаМодератор
СуперМодератор
 
Регистрация: 09.01.2008
Сообщений: 24,613
Репутация: 5352
По умолчанию

матрица должна быть размера NxN

Код:

for k:=1 to N do begin
  temp := matrix[i,k];
  matrix[i,k] := matrix[k,j];
  matrix[k,j] := temp
end;

Serge_Bliznykov вне форума   Ответить с цитированием
Старый 26.11.2017, 19:11   #3
Kamelok
Пользователь
 
Регистрация: 19.11.2017
Сообщений: 36
Репутация: 10
По умолчанию

Что то я сильно туплю сижу уже неделю, может не надо было идти на программиста.
Я без понятия где ошибаюсь все время.
var
Код:

i,j,n,k, temp : integer; 
a: array [1..10,1..10] of integer; 
begin 
writeln('Введите размер квадратной матрицы n- '); 
readln(n); 
writeln('Введите i-'); 
readln(i);
writeln('Введите j-'); 
readln(j);
randomize; 
for i:=1 to n do 
begin 
for j:=1 to n do 
begin 
a[i,j] := random(30) + 1; 
write(a[i,j] : 3); 
end; 
writeln; 
end;
for k:=1 to N do begin
  temp := a[i,k];
  a[i,k] := a[k,j];
  a[k,j] := temp
end;
writeln; 
writeln('Новая матрица'); 
writeln; 
for i:= 1 to n do 
begin 
for j:= 1 to n do 
write(a[i,j]:3); 
writeln; 
end; 
end.


Последний раз редактировалось Вадим Мошев; 08.12.2017 в 06:41.
Kamelok вне форума   Ответить с цитированием
Старый 26.11.2017, 19:32   #4
BDA
Модератор
Заслуженный модератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Адрес: RF Moscow
Сообщений: 5,393
Репутация: 2468

icq: 438888048
По умолчанию

Вы считали в переменные i и j номера, а потом тут же использовали эти переменные в качестве счетчиков цикла, тем самым изменили их значения.
__________________
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума   Ответить с цитированием
Старый 26.11.2017, 21:36   #5
СтудПом
Форумчанин
 
Регистрация: 08.11.2017
Сообщений: 354
Репутация: 114
По умолчанию Именование переменных

Не сразу даже понял
Переставьте запрос номеров строк - после цикла формирования матрицы.
Код:

var 
  i,j,n,k, temp : integer; 
  a: array [1..10,1..10] of integer; 
begin 
  write('Введите размер квадратной матрицы n- '); readln(n); 
  for i:=1 to n do 
  begin 
    for j:=1 to n do 
    begin 
      a[i,j] := i*10 + j; 
      write(a[i,j] : 3); 
    end; 
    writeln; 
  end;
  write('Введите i-'); readln(i);
  write('Введите j-'); readln(j);
  for k:=1 to N do
  begin
      temp := a[i,k];
    a[i,k] := a[k,j];
    a[k,j] := temp
  end;
  writeln; 
  writeln('Новая матрица'); 
  writeln; 
  for i:= 1 to n do 
  begin 
    for j:= 1 to n do 
    write(a[i,j]:3); 
    writeln; 
   end
end.

-И лучше, так не делать. Каждая переменная должна иметь уникальное назначение. Исключение - счётчики циклов.

Последний раз редактировалось СтудПом; 26.11.2017 в 21:39.
СтудПом вне форума   Ответить с цитированием
Старый 07.12.2017, 23:35   #6
Kamelok
Пользователь
 
Регистрация: 19.11.2017
Сообщений: 36
Репутация: 10
По умолчанию

Спасибо
Kamelok вне форума   Ответить с цитированием
Старый 08.12.2017, 00:05   #7
min@y™
Цифровой кот
Профессионал
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Адрес: 1600, пенсильвания-авеню, п.г.т. верхний Вашингтонск, 8126 км от МКАД, от поста ГАИ - налево.
Сообщений: 7,636
Репутация: 2398

icq: 100500
skype: kick-ass
По умолчанию

Цитата:
Сообщение от Kamelok Посмотреть сообщение
Что то я сильно туплю сижу уже неделю, может не надо было идти на программиста.
__________________
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
написать программу массивы (C++) - Даны два массива, скопировать эти массивы в 3-й результирующий (размером 10 элементов) так, что Саша1990 Помощь студентам 1 02.02.2015 17:03
Одномерные массивы, двумерные массивы, строки Sand093 C++ Builder 11 20.05.2012 21:48
Двумерные массивы(матрица) 2)Строковые массивы(строки): 3)Структуры nuriyat Помощь студентам 1 21.01.2012 16:16
Двумерные массивы(массивы указателей на массивы) krytishka99 Помощь студентам 1 29.12.2011 19:51
Даны одномерные массивы А и В. Сформировать массивы, состоящие из элемент LyaLya Помощь студентам 15 20.12.2009 15:12


22:33.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru