Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Помощь студентам


Ответ
 
Опции темы Опции просмотра
Старый 09.06.2011, 11:25   #11 (permalink)
rodger_rulez
Новичок
 
Регистрация: 01.06.2011
Сообщений: 7
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

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

23. Дана матрица размера M×N. В каждой строке матрицы найти минимальный элемент.
39. Дана целочисленная матрица размера M×N. Найти количество ее столбцов, все элементы которых различны.
54. Дана матрица размера M×N. Поменять местами столбец с номером N и первый из столбцов, содержащих только отрицательные элементы. Если требуемых столбцов нет,
то вывести матрицу без изменений.

можно еще сделать пометки возле каждой строки что она выполняет?...
rodger_rulez вне форума   Ответить с цитированием

Старый 09.06.2011, 11:25
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Обратите внимание на схожие темы - это должно вам помочь

Строки в С
Строки

Старый 09.06.2011, 12:26   #12 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от rodger_rulez Посмотреть сообщение
Владимир, ооочень нужно эти задачки решить... знаю, что массивы Вы не любите... но пожалуйста, помогите мне, а то до 2го экзамена не допустят...уже один пропустил((((
Ладно, живите:
Код:
Const
 M=5;
 N=8;
VAR
 A:Array[1..M,1..n] of Integer;
 Min:Array[1..M] of Integer;
 i,j,k,p,X:Integer;
 b:Boolean;
BEGIN
 Randomize;
 For i:=1 to M do
  begin
   Min[i]:=100;
   For j:=1 to N do
    begin
     A[i,j]:=30-Random(100);
     If A[i,j]<Min[i] then Min[i]:=A[i,j];
    end;
  end;
 Writeln('Task N 23:');
 For i:=1 to M do
  begin
   For j:=1 to N do
    Write(A[i,j]:5);
   Writeln('   Min= ',Min[i]:3);
  end;
 Writeln;
 Writeln('Task N 39:');
 p:=0;
 For j:=1 to N do
  begin
   b:=true;
   For i:=1 to M do
    For k:=1 to M do
     If (i<>k) and (A[i,j]=A[k,j]) then b:=false;
   If b then Inc(p);
  end;
 Writeln('The number of columns with only different elements is ',p);
 Writeln;

 Writeln('Task N 54:');
 p:=0;
 For j:=1 to N do
  If p=0 then
   begin
    b:=true;
    For i:=1 to M do
     If (p=0) and (A[i,j]>=0) then b:=false;
    If b then p:=j;
   end;

 If (p>0) and (p<N) then
  For i:=1 to M do
   begin
    X:=A[i,N];
    A[i,N]:=A[i,p];
    A[i,p]:=X;
   end;

 For i:=1 to M do
  begin
   For j:=1 to N do
    Write(A[i,j]:5);
   Writeln;
  end;

 Readln
END.
Vladimir_S вне форума   Ответить с цитированием
Старый 09.06.2011, 13:57   #13 (permalink)
M@rgo
Member
 
Регистрация: 08.06.2011
Сообщений: 15
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Спасибо!!! только программа не работает!!!!!...можете ее перепроверить???ПОЖАЛУЙСТФ!!!!!!!!Очень нужно!!!!!!
M@rgo вне форума   Ответить с цитированием
Старый 09.06.2011, 14:04   #14 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от M@rgo Посмотреть сообщение
Спасибо!!! только программа не работает!!!!!...можете ее перепроверить???ПОЖАЛУЙСТФ!!!!!!!!Очень нужно!!!!!!
Так. Говорил, говорю и еще хоть сто раз повторю - я НЕ выкладываю сюда неотлаженных неоттестированных программ. А потому - пожалуйста, конкретнее. Что именно "не работает"? В чем это выражается? Какие сообщения возникают? Скорее всего - какие-то "задвиги" Вашей версии Паскаля. Давайте информацию - будем разбираться.
Vladimir_S вне форума   Ответить с цитированием
Старый 09.06.2011, 14:06   #15 (permalink)
M@rgo
Member
 
Регистрация: 08.06.2011
Сообщений: 15
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Цитата:
Сообщение от M@rgo Посмотреть сообщение
Спасибо!!! только программа не работает!!!!!...можете ее перепроверить???ПОЖАЛУЙСТФ!!!!!!!!Очень нужно!!!!!!
задача :
Строки
№22
Дана строка, изображающая целое число. Вывести сумму цифр этого числа.

VAR
S:String;
i,n:Byte;
Sum,Code:Word;
BEGIN
Writeln('Enter the string:');
Readln(S);
Sum:=0;
For i:=1 to Length(S) do
begin
Val(S[i],n,Code);
Inc(Sum,n);
end;
Writeln('Sum= ',Sum);
Readln
END.
M@rgo вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Старый 09.06.2011, 14:11   #16 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от M@rgo Посмотреть сообщение
задача :
Строки
№22
Дана строка, изображающая целое число. Вывести сумму цифр этого числа.

VAR
S:String;
i,n:Byte;
Sum,Code:Word;
BEGIN
Writeln('Enter the string:');
Readln(S);
Sum:=0;
For i:=1 to Length(S) do
begin
Val(S[i],n,Code);
Inc(Sum,n);
end;
Writeln('Sum= ',Sum);
Readln
END.
Так Вы об этой? Сразу нужно сообщать, о какой программе речь.
Поскольку информацию Вы так и не дали (где сбой, какие сообщения и т.п.) - постараюсь догадаться.
Для начала попробуйте в разделе описания переменных заменить две строки

i,n:Byte;
Sum,Code:Word;

одной строкой

i,n,Sum,Code:Integer;

Возможно, это решит проблемы.
Vladimir_S вне форума   Ответить с цитированием
Старый 09.06.2011, 14:17   #17 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Может быть, еще в одном месте сбоит. Если предыдущие поправки не устранили проблем, сделайте так:

1. Первую в разделе VAR строку
S:String;
Замените на
S,S1:String;

2. Строку
Val(S[i],n,Code);
Замените на две:
S1:=S[i];
Val(S1,n,Code);
Vladimir_S вне форума   Ответить с цитированием
Старый 09.06.2011, 14:24   #18 (permalink)
M@rgo
Member
 
Регистрация: 08.06.2011
Сообщений: 15
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

For i:=1 to Length (s) do - в этой строчке выдает ошибку(error 97)
M@rgo вне форума   Ответить с цитированием
Старый 09.06.2011, 14:36   #19 (permalink)
AlexZir
support
 
Аватар для AlexZir
 
Регистрация: 19.08.2007
Адрес: Зея
Сообщений: 15,794
Записей в дневнике: 71
Сказал(а) спасибо: 166
Поблагодарили 203 раз(а) в 86 сообщениях
Репутация: 75760
По умолчанию

Эта ошибка говорит, что управляющая переменная несоответствующего типа, попробуйте переменную i определить как Integer
__________________
Убить всех человеков!
AlexZir вне форума   Ответить с цитированием
Старый 09.06.2011, 14:37   #20 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Честно сказать - не понимаю! Всё там правильно. А какой у Вас Паскаль? Уже за сегодня второе сообщение (сильно подозреваю, что из приблизительно одного источника) о проблемах со стандартной функцией определения длины строки Length(S). Посмотрите Help Вашего пакета - что там говорится об этой функции?
Vladimir_S вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ

Опции темы
Опции просмотра

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

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




Часовой пояс GMT +4, время: 18:34.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.