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

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

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

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


Пилотус
**

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

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


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

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

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

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

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


Пилотус
**

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

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


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


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

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

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


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


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
spektr
сообщение 2.12.2006 9:54
Сообщение #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 
 К началу страницы 
+ Ответить 
Ozzя
сообщение 2.12.2006 10:38
Сообщение #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я - 2.12.2006 10:39
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
spektr
сообщение 2.12.2006 11:13
Сообщение #6


Пилотус
**

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

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


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

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

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


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

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

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


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


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


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


Пилотус
**

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

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


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


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

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

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


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


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


Пилотус
**

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

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


и как же это сделать,вы зря со мной разговариваете как с человеком который хоть что-то понимает,все по нулям.но я очень стараюсь.
я поняла твою мысль Юлия но как это воплотить в программе.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
мисс_граффити
сообщение 2.12.2006 14:59
Сообщение #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 
 К началу страницы 
+ Ответить 
spektr
сообщение 2.12.2006 18:02
Сообщение #12


Пилотус
**

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

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


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


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

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

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


 writeln(a[k,i]);


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
spektr
сообщение 3.12.2006 10:51
Сообщение #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 
 К началу страницы 
+ Ответить 
volvo
сообщение 3.12.2006 11:19
Сообщение #15


Гость






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


Кстати, почему в самом начале K := 0? Надо с 1 начинать... Иначе вдруг первый же элемент главной диагонали - максимальный, что будет?
 К началу страницы 
+ Ответить 
spektr
сообщение 3.12.2006 15:48
Сообщение #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 
 К началу страницы 
+ Ответить 
volvo
сообщение 3.12.2006 15:50
Сообщение #17


Гость






Что не получается? Ты сначала программу как положено напиши, чтобы каждый End был под ЕГО же Begin-ом, и лишний Else убери из программы, тогда может и получится..
 К началу страницы 
+ Ответить 
spektr
сообщение 4.12.2006 17:13
Сообщение #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 
 К началу страницы 
+ Ответить 
мисс_граффити
сообщение 4.12.2006 19:42
Сообщение #19


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

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

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


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

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


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


Пилотус
**

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

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


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


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

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

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

 



- Текстовая версия 18.07.2025 9:44
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"