IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

2 страниц V  1 2 >  
 Ответить  Открыть новую тему 
> задача на двумерный массив
сообщение
Сообщение #1


Пилотус
**

Группа: Пользователи
Сообщений: 101
Пол: Женский
Реальное имя: Настасья

Репутация: -  2  +


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

2 задачи, обе на двумерный массив

Дана матрица размером N на M,вывести количество строк матрицы,в которых число положительных элементов больше числа отрицательных элементов.

Дана квадратная матрицапорядка N вывести сторону матрицы,в которой элемент стоящий на главной диагонале максимален.

 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Пилотус
**

Группа: Пользователи
Сообщений: 101
Пол: Женский
Реальное имя: Настасья

Репутация: -  2  +


а как перенести пробу решения задачи в паскале от туда сюда((((((((( ypriamii.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


просто человек
******

Группа: Пользователи
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

Репутация: -  55  +


1) сохраняешь файлик в формате с расширением pas (например, 1.pas)
2) щелкаешь по нему правой кнопкой -> открыть с помощью и выбираешь блокнот (или ворд)
3) копируешь, как обычный текст.


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Пилотус
**

Группа: Пользователи
Сообщений: 101
Пол: Женский
Реальное имя: Настасья

Репутация: -  2  +


задача 2

Program stroka;
VAR
A:ARRAY [1..10,1..10] of integer;
i,j : integer;
BEGIN
WriteLn ('введите размерность массива  ');
ReadLn (n);
FOR i:=1 to n do
FOR j:=1 to n do
ReadLn (A[i,j]);
Begin



и вот на этом меня стопорит,я знаю что главная диагональ это i=j.
но как найти наибольшее и как вывести строку с наибольшим,ПОДСКАЖИТЕ.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Гуру
*****

Группа: Пользователи
Сообщений: 1 220
Пол: Мужской

Репутация: -  16  +


Цитата
как найти наибольшее и как вывести строку с наибольшим,

max:=a[1,1];
k:=0;
for i:=2 to n do
if a[i,i]>max then
begin
max:=a[i,i];
k:=i;
end;


Сообщение отредактировано: Ozzя -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Пилотус
**

Группа: Пользователи
Сообщений: 101
Пол: Женский
Реальное имя: Настасья

Репутация: -  2  +


объясните пожалуйста.
Цитата
max:=a[1,1];

Цитата
max:=a[i,i];
k:=i;

что это значит и зачем мы это делаем.понимаю что это не очень умный вопрос,но если я не приложу усилий по сдаче задачь то мне придеться сдавать экзамен, а там я точно умру,от стреса. shok.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


просто человек
******

Группа: Пользователи
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

Репутация: -  55  +


1. изначально предполагаем, что первый элемент и есть максимум. если это предположение неверное, то...
2. как только нам попадется элемент, больше него, запомним новый максимум и его индекс:
max:=a[i,i];
k:=i;


а что такое сторона матрицы?


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8


Пилотус
**

Группа: Пользователи
Сообщений: 101
Пол: Женский
Реальное имя: Настасья

Репутация: -  2  +


это описка строка матрицы
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #9


просто человек
******

Группа: Пользователи
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

Репутация: -  55  +


а... ну тогда никаких проблем.
номер строки мы запомнили (k).
теперь просто надо вывести k-тую строку, то есть элементы
a[k,1], a[k,2]...a[k,n]


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #10


Пилотус
**

Группа: Пользователи
Сообщений: 101
Пол: Женский
Реальное имя: Настасья

Репутация: -  2  +


и как же это сделать,вы зря со мной разговариваете как с человеком который хоть что-то понимает,все по нулям.но я очень стараюсь.
я поняла твою мысль Юлия но как это воплотить в программе.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #11


просто человек
******

Группа: Пользователи
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

Репутация: -  55  +


spektr, ну смотри:
номер строки остается неизменным (k), а номер столбца изменяется:1,2,3,4...n. значит, надо сделать, чтобы каждый раз вместо номер столбца подставлялось число, на 1 больше предыдущего, правильно?
начинается последовательность с 1, заканчивается n (n-это некоторая константа, которую мы знаем).
Очень удобно воспользоваться циклом for:
for i:=1 to n do
{вывод элемента a[k,i]}


знаешь, как делается вывод?


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #12


Пилотус
**

Группа: Пользователи
Сообщений: 101
Пол: Женский
Реальное имя: Настасья

Репутация: -  2  +


если чесно то нет,а вы не смотрели первую задачу меня там ломает на том же моменте,т.е после заполнения матрицы.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #13


просто человек
******

Группа: Пользователи
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

Репутация: -  55  +


 writeln(a[k,i]);


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #14


Пилотус
**

Группа: Пользователи
Сообщений: 101
Пол: Женский
Реальное имя: Настасья

Репутация: -  2  +


Program stroka;
VAR
A:ARRAY [1..10,1..10] of integer;
i,j,n,max,k : integer;
BEGIN
WriteLn ('введите размерность массива  ');
ReadLn (n);
FOR i:=1 to n do
FOR j:=1 to n do
ReadLn (A[i,j]);
Begin
max:=a[1,1];
k:=0;
For i:=2 to n do
If a[i,i] > max
Then
begin
max:=a[i,i];
k:=1;
end;
For i:=1 to n do
WriteLn (a[k,i]);
END;
readLn
end.




где ошибка?(чувствую себя идиоткой)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #15


Гость






        max:=a[i,i];
k:=i; { <--- Вместо единицы }


Кстати, почему в самом начале K := 0? Надо с 1 начинать... Иначе вдруг первый же элемент главной диагонали - максимальный, что будет?
 К началу страницы 
+ Ответить 
сообщение
Сообщение #16


Пилотус
**

Группа: Пользователи
Сообщений: 101
Пол: Женский
Реальное имя: Настасья

Репутация: -  2  +


Program stroka;
VAR
A:ARRAY [1..10,1..10] of integer;
i,j,n,max,k : integer;
BEGIN
WriteLn ('ўўҐ¤ЁвҐ а §¬Ґа­®бвм ¬ ббЁў  ');
ReadLn (n);
FOR i:=1 to n do
FOR j:=1 to n do
WriteLn ('§ Ї®«­ЁвҐ ¬ ббЁў');
ReadLn (A[i,j]);
Begin
max:=a[1,1];
k:=1;
For i:=2 to n do
If a[i,i] > max
Then
begin
max:=a[i,i];
k:=i;
else
end
For i:=1 to n do
WriteLn (a[k,i]);
END;
Readln
end.

ВСеравно не получается ypriamii.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #17


Гость






Что не получается? Ты сначала программу как положено напиши, чтобы каждый End был под ЕГО же Begin-ом, и лишний Else убери из программы, тогда может и получится..
 К началу страницы 
+ Ответить 
сообщение
Сообщение #18


Пилотус
**

Группа: Пользователи
Сообщений: 101
Пол: Женский
Реальное имя: Настасья

Репутация: -  2  +


Program stroka;
VAR
A:ARRAY [1..10,1..10] of integer;
i,j,n,max,k : integer;
BEGIN
WriteLn ('ўўҐ¤ЁвҐ а §¬Ґа­®бвм ¬ ббЁў  ');
ReadLn (n);
FOR i:=1 to n do
FOR j:=1 to n do
WriteLn ('§ Ї®«­ЁвҐ ¬ ббЁў');
ReadLn (A[i,j]);
Begin
max:=a[1,1];
k:=1;
For i:=2 to n do
If a[i,i] > max
Then
begin
max:=a[i,i];
k:=i;
end;
For i:=1 to n do
WriteLn (a[k,i]);
end;
Readln
end.

кампилятор пропускает,но задача не считает
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #19


просто человек
******

Группа: Пользователи
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

Репутация: -  55  +


а ничего, что массив не заполняется вообще?
строка
 ReadLn (A[i,j]);

должна быть внутри цикла, правда?


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #20


Пилотус
**

Группа: Пользователи
Сообщений: 101
Пол: Женский
Реальное имя: Настасья

Репутация: -  2  +


а понятно,бегин энд еще один нужен!!!


АААААААААААААААААААА.ребят спасибо большое,Работает,какие вы умнички,простите что я вас своим тупизмом заколебала. !mol1.gif
с меня шоколадка

а как вам репу повысить подскажите(еще один тупизьмь)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

2 страниц V  1 2 >
 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 29.03.2024 19:37
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name