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

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

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

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

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 11.11.2009, 22:21   #1
Branbal
Заблокирован
 
Регистрация: 10.11.2009
Сообщений: 20
Восклицание Двумерный массив, одномерный массив.

Составить вектор из номеров строк матрицы, где содержатся только числа с одинаковой разрядностью.

Дана вот такая задачка, ниже приведу мое решение, но что-то не сходится, не хочет паскаль вектор делать((( . (Разрядность - например, 1-6 ; 23-67 и тп.).

Код:
Program Exp1;
Var A: array [1..10,1..10] of integer;
R,m,n,I,J,k,l,Z,Q,S : integer;
B: array [1..10] of integer;
F: Boolean;
Begin
Readln (m,n);
For I:=1 to m do
For J:=1 to N do
Read (A[I,J]);
K:=0;
For I:= 1 to m do
Begin
F:=False;
For J:=1 to N do
Begin
Z:=A[I,J];
R:=0;
While Z<>0 do 
Begin
R:=R+1
Z:=Zdiv10
end;
If J=1 then
Q:=R;
For J:=1 to N do
Begin
S:=0
If Q=A[I,J] then
S:=S+1
end;
If S=A[I,J] then
F:=true;
If F=true then
Begin
K:=K+1;
B[k]:=I
end;
For I:=1 to k do
writeln (B[I])
end.
Жирным выделе часть, тут я решил сделать так, Q присвоил разрядность, и затем 1й элемент каждой строки будет равен Q (эталон) и затем хочу его сравнить со всеми остальными в строчке, но пока писал понял что бред))) Помогите плз исправить, мозги уже не варят....

Последний раз редактировалось Stilet; 12.11.2009 в 09:12.
Branbal вне форума
Старый 12.11.2009, 00:12   #2
kakawkin
Форумчанин
 
Регистрация: 21.09.2009
Сообщений: 431
По умолчанию

ты бы еще попытался все в одну строку вписать было бы поудобнее разбирать код
kakawkin вне форума
Старый 12.11.2009, 00:39   #3
Branbal
Заблокирован
 
Регистрация: 10.11.2009
Сообщений: 20
По умолчанию

Кто такую глупость сказал) Наоборот так куда легче его читать, ты бы лучше посмотрел что не так....
Branbal вне форума
Старый 12.11.2009, 09:14   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Что такое - "числа с одинаковой разрядностью."?
Цитата:
Кто такую глупость сказал)
Между прочим он прав - код читабельнее нужно оформлять.
I'm learning to live...
Stilet вне форума
Старый 12.11.2009, 19:49   #5
Branbal
Заблокирован
 
Регистрация: 10.11.2009
Сообщений: 20
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Что такое - "числа с одинаковой разрядностью."?

Между прочим он прав - код читабельнее нужно оформлять.
Нас просто так учат, вот я и записал)) Я привел пример, одинаковая разрядность, это числа 1-2-3-4-5-6-7-8 (1 пример); 10-20-30-43-57-84 (2 пример), т.е. грубо говоря сколько чисел, бывают одноразрядные (1 пример), двуразрядные (2 пример) и тд.
Branbal вне форума
Старый 13.11.2009, 09:41   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Ну ну не паникуй.
Либо вы учиться не хотите либо учителя нули.
Вот что предлагаю я:
Код:
  var a:array[1..10,1..10] of integer;
  e:array[1..10] of integer;
  l,q,w:integer;
begin
 for q:=1 to 10 do begin
   for w := 1 to 10 do begin
    if w=1 then begin    l:=a[q,w];       e[q]:=q; end;
     a[q,w]:=random(12);Write(a[q,w]:4);
     if (e[q]<>0)and(abs(a[q,w]-l)>=10) then
        e[q]:=0;
   end;
   Writeln;
 end;
 writeln;
   for w := 1 to 10 do begin
    if e[w]<>0 then write(e[w]:5);
   end;
 readln;
end.
Втой код не разбирал, но по-моему в нем стратегия неверна.
I'm learning to live...
Stilet вне форума
Старый 13.11.2009, 11:31   #7
Branbal
Заблокирован
 
Регистрация: 10.11.2009
Сообщений: 20
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Ну ну не паникуй.
Либо вы учиться не хотите либо учителя нули.
Вот что предлагаю я:
Код:
  var a:array[1..10,1..10] of integer;
  e:array[1..10] of integer;
  l,q,w:integer;
begin
 for q:=1 to 10 do begin
   for w := 1 to 10 do begin
    if w=1 then begin    l:=a[q,w];       e[q]:=q; end;
     a[q,w]:=random(12);Write(a[q,w]:4);
     if (e[q]<>0)and(abs(a[q,w]-l)>=10) then
        e[q]:=0;
   end;
   Writeln;
 end;
 writeln;
   for w := 1 to 10 do begin
    if e[w]<>0 then write(e[w]:5);
   end;
 readln;
end.
Втой код не разбирал, но по-моему в нем стратегия неверна.
Спасибо конечно, но некоторые конструкции что ты привел я вообще не знаю. Мне информатика вообще не нужна, просто на семестр поставили)) Можешь именно в том, что я составил глянуть что не так, особенно выделенную часть?
Branbal вне форума
Старый 13.11.2009, 13:28   #8
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Цитата:
Branbal
Извини но мне тяжело читать то что ты написал.
Отладчик тее в помошь.
I'm learning to live...
Stilet вне форума
Старый 13.11.2009, 20:23   #9
Branbal
Заблокирован
 
Регистрация: 10.11.2009
Сообщений: 20
По умолчанию

Что мне в 1 строку все записать? И что за отладчик? Да и вообще кто еще что посоветовать может?)

Ну мне поможет кто-нибудь из ПРОграммистов?

Последний раз редактировалось Stilet; 17.11.2009 в 08:29.
Branbal вне форума
Старый 16.11.2009, 03:07   #10
Sasha_Smirnov
Особый статус
Участник клуба
 
Аватар для Sasha_Smirnov
 
Регистрация: 24.11.2008
Сообщений: 1,535
По умолчанию Важен язык или результат?

Цитата:
Сообщение от Branbal Посмотреть сообщение
Мне информатика вообще не нужна, просто на семестр поставили (2 смайла)
А комп-то те для чего... Видишь, тут уже не помнят про разрядность чисел. А Паскаль был выдуман как раз для обучения — а вышло для мучения!

Хочешь, на VBA сделаю, дня через 2?
Sasha_Smirnov вне форума
Закрытая тема


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Одномерный и двумерный массив Almost456 Паскаль, Turbo Pascal, PascalABC.NET 6 25.12.2012 18:30
Одномерный и двумерный массив [Паскаль] Ximer Помощь студентам 6 15.05.2009 16:15
Одномерный массив Ximer Паскаль, Turbo Pascal, PascalABC.NET 0 13.05.2009 19:54
Двумерный массив... slim5 Помощь студентам 2 20.06.2008 23:16
Дан двумерный массив случайных чисел. Построить одномерный из исходного, выбрав из него все числа кратные ProWinD Паскаль, Turbo Pascal, PascalABC.NET 2 16.06.2008 20:12