• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о форуме и правила – там коротко описано, как задать вопрос так, чтобы быстро получить ответ. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по старой ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

двухмерные массивы

  • Автор темы Автор темы sim-sim
  • Дата начала Дата начала

sim-sim

Новые
Регистрация
30 Янв 2007
Сообщения
54
Реакции
0
Баллы
0
пожалуйста помогите написать программу обработки двухмерных массивов (нахождение максимального элемента ,минимального ,суммы,произведения)
 
Ну примерно так
смотри:
int mas[s1][s2];
int max=mas[0][0];
for(int i=0;i<s1;i++)
{
int now_max=mas[0];
for(int j=0;j<s2;j++)
{
if(now_max<mas[j])
now_max=mas[j];
}
if(now_max>max)
max=now_max;
}
max - будет самое большим со всего массива
now_max -самое большое в строке mas[];
минимального аналогично, только знаки поменяй;
Сумма :
int sum=0;
for(int i=0;i<s1;i++)
{
for(int j=0;j<s2;j++)
sum+=mas[j];
}
вот и всё!!
если у тебя несколько массивов можеш найтив первом, например максимальное, затем
во втором, после чего сравнить результат, и т.д.
 
никак не могу разобратся с матрицами. необходимо написать программу:"В каждом столбце матрицы D(8,10) вместо максимального элемента записать 1."ПОМОГИТЕ, что-то крутится в голове, а докрутится никак не может.
 
Насколько я понимаю, матрица=массив.
делается так:

temp=0
for i1=1 to 8
for i2=1 to 10
if D(i1,i2)>temp then
temp=D(i1,i2)
x=i1
y=i2
endif
next
next

d(x,y)=1

ВсЁ! как работает:
шарим массив по линии 1 (i1) на все 10 значений
если какое-либо значение стало выше прежней максималки, заносим это значение в память (для дальнейшего сравнения) и запоминаем координаты (х и у) точки матрицы, где нашли новый максимум
Затем, когда просканим все 8 линий массива (представь, что это сетка из 8-ми линий по горизонтали и 10 по вертикали, а точки пересечения содержат значения матрицы) на все 10 вглубь и нашли абсолютный максимум, открываем массив в х и у и присваиваем этой точке еденицу.

Вуаля!
 
покупай журнал Хакер, там на каждом диске выкладывают описание, исходники примеры по массивам, графам, и всякой нужной хрени :)
 
спасибо всем вам огромное.
Le}{a
тебе тоже спасибо. посмотрю что за журнальчик
 
BoT
поправочка. надо максимальный элемент найти в каждом столбце.
 
помогите пожалуйста решить задачу: найти сумму всех элементов двухмерного массова А больших значений числа R
 
помогите пожалуйста решить задачу: найти сумму всех элементов двухмерного массива А больших значений числа R
буду вам очень признательна
 
BoT
небольшая поправка:
Treloha написал(а):
В каждом столбце матрицы D(8,10) вместо максимального элемента записать 1
поэтому:
temp=0
for i1=1 to 8
for i2=1 to 10
if D(i1,i2)>temp then
temp=D(i1,i2)
x=i1
y=i2
endif
next
d(x,y)=1
next
то есть находим максимальный элемент в каждом столбце, заменяем его на 1.
 
Помогите, пожалуйста решить задачу. Дан двухмерный массив целых чисел. Определить минимальный номер строки, состоящей только из элементов, кратных числу а. Принять, что такие строки в массиве есть. ПОМОГИТЕ, ПОЖАЛУЙСТА.
 
а в чём собственно проблема то ?
 
Помогите, пожалуйста. Мне надо написать три программки на Turbo Pascal.
1) Вставить перед всеми столбцами, в которых есть 0, первый столбец.
2) Определить, есть ли в данном двумерном массиве отрицательный элемент.
3) Найти строку с наибольшей суммой элементов. Вывести на печать найденную строку и суммы их элементов.
 
Несколько способов по второй задаче
Код:
{var
 m, n:byte; {size of mas}{
 mas:array[1..100,1..100]of integer;
 i, j:byte;
 res:boolean;
begin
read(m, n);
for i:=1 to m do begin
    for j:=1 to n do begin
        read(mas[i, j]);
    end;
end;

for i:=1 to m do begin
    for j:=1 to m do begin
        if mas[i, j]<0 then begin res:=true; break; end;
    end;
end;

writeln(res);

end.}

{SECOND}

var
 m, n:byte; {size of mas}
 i, c:integer;
 res:boolean;
begin
read(m, n);
res:=false;
for i:=1 to m*n do begin
    read(c);
    if c<0 then res:=true;
end;
 writeln(res);
end.
 
Третья
Код:
var
 m, n, max:byte;
 mas:array[1..100,1..100]of integer;
 i, j:byte;
 sum, maxs:longint;
begin
read(m, n);

for i:=1 to m do begin
    for j:=1 to n do begin
        reaD(mas[i, j]);
    end;
end;

maxs:=0;
for i:=1 to m do begin
sum:=0;
    for j:=1 to n do begin
        sum:=sum+mas[i, j];
    end;
if sum>maxs then begin max:=i; maxs:=sum; end;
end;
writeln;
for j:=1 to n do begin
    write(mas[max, j],' ');
end;
write('sum=',maxs);
end.
 
Помоги, пожалуйста, решить самую первую задачу: со вставкой первой строки...
 
Проблема со звуком.

Доброго времени суток.
У меня возникла следующая проблема: не могу поставить дрова на звуковую плату. В процессе выполнения установки, комп принудительно перегружается, перед этим появляется сообщение о нахождении стандартного игрового порта, и всё, после этого глубокий ребут. До этого у меня работал интегрированный звук, потом с ним возникли проблемы, отключил его из биоса и поставил плату. Всё работало до недавнего момента, но после перестановки винды дрова ставиться не хотят. В диспетчере после перезагрузки видно, что для устройства не стоят драйвера, при попытке переустановить их, повторяется история с перезагрузкой. Вот, вроде всё объяснил... Помогите разобраться, пожалуйста.
 
А что он пишет в "Синеньком"?
 
Если можете перепешите Hardware ID's устройства. Какую операционную систему Вы установили сейчас? Чем она оличается от предыдущей?

Added 12.19.2008 13:12:46:
В Диспетчере устройств в свойствах звуковой карты нажмите "Свойства" - "Дополнительно" (предпоследняя вкладка), и там выберите HARDWARE ID's и скопируйте. Найдем Вам новые драйвера.
 
Denesis
Если можете перепешите Hardware ID's устройства

Подскажи где это можно посмотреть стандартными инструментами
 
Назад
Сверху