Показать полную графическую версию : Помогите решить задачу(Pascal)
1) С клавиатуры ввести 5 чисел, вывести масив, сосчитать сумму негативных чисел.
2) Заполнить двумерный масив 5х8 рандомными числами, в диапозоне от -5 до 5. Вывести на экран. Сосчитать сумму элементов, каторые находятся под главной диагональю.
3) Дана матрица с позитивными числами 4х4. Вввести элементы с клавиатуры. Найти четные числа. Вывести матрицу и результат.
4) Масив 2х4х3 заполнить рандомными числами, в диапозоне от 0 до 5. Сосчитать сумму элементов, которые находятся во втором ряду.
Зарание спасибо.
Зачем же тему уже создали Всё о TURBO PASCAL (обсуждение, помощь в написание программ, ошибки, Pascal ABC) (http://forum.oszone.net/thread-107695.html)?
Как раз по содержанию первого поста может подойти.
Понимаю, индивидуализм. А собственно в чём то помощь требуется? Есть какие-то загвостки в исходнике или отсутствие полного понимания вопроса?
Для первого или второго случая подойдёт в разной степени этот линк
Лабы Pascal (http://www.allcode.ru/content/category/8/20/53/)
Admiral,
Понимаю, индивидуализм. А собственно в чём то помощь требуется? Есть какие-то загвостки в исходнике или отсутствие полного понимания вопроса?
Если ты знаешь язык, то я очень за тебя рад. Я его не знаю!
verdix, сорри, не хотел обидеть. :cry: :drug:
Я просто по теме не понять в чём заключается помощь: в самом решении примеров или в подсказке по их решению?
Погуляй пока по той ссылке, что я дал, найди приблизительный пример, попробуй подогнать его к твоим задачам, если что не так будет выходить кидай его в тему через тег {code} будем разбираться всем форумом.
Ещё раз сорри если обидел, цели такой себе не ставил.
негативных чисел » несколько оффтоповый вопрос, а как понимать, слово - негативные, это значит, отрицательные?!позитивными числами » значит позитивные - это положительные.
Сосчитать сумму элементов, каторые находятся под главной диагональю. »И ещё не понимаю, какую диагональ считать главной? Если их две...
Drongo,
несколько оффтоповый вопрос, а как понимать, слово - негативные, это значит, отрицательные?!
значит позитивные - это положительные.
ДА, именно это я и имел ввиду. Сорри, с другого языка переводил, допустил ошибку.
ещё не понимаю, какую диагональ считать главной? Если их две...
НУ вот, их две, выбираем которая главнее и считаем. =) Больше на эту тему сказать ничего не могу! :(
Drongo, да это так и есть. Ноль тоже к позитивно-положительным.
Вероятно что та которая длиннее, если не равномерная фигура.
Не те вопросы будут задавать при приёме, а по коду.
В 4м задании Масив 2х4х3 ... Сосчитать сумму элементов, которые находятся во втором ряду. » трёх мерный массив. О ком втором ряде идёт речь? Там есть варианты.
1 задание решил на С++, если можно перевести на требуемый язык...
//1) С клавиатуры ввести 5 чисел, вывести масив, сосчитать сумму негативных чисел.
#include <iostream.h>
using std::cout;
using std::cin;
using std::endl;
int main()
{
int const size = 5;
int array[size] = {0};
int summNegativ = 0,
z;
for(int i = 0; i < size; i++){
cout<<" Element [ "<<i<<" ] = ";
cin>>array[i];
}
cout<<endl<<"-----===Vivod massiva===-----"<<endl;
for(int i = 0; i < size; i++)
cout<<" Element [ "<<i<<" ] = "<<array[i]<<endl;
cout<<endl<<"-----===Rashot negativ number===-----"<<endl;
for(int i = 0; i < size; i++){
if(array[i] < 0)
summNegativ += array[i];
}
cout<<endl<<"-----===Vivod Resultata Rashota negativnich chisel===-----"<<endl;
cout<<endl<<" Summa Negativnih chisel ravna = "<<summNegativ<<endl;
cin>>z;
return 0;
}
//---------------------------------------------------------------------------
3) Дана матрица с позитивными числами 4х4. Вввести элементы с клавиатуры. Найти четные числа. Вывести матрицу и результат.
//3) Дана матрица с позитивными числами 4х4. Вввести элементы с клавиатуры. Найти четные числа. Вывести матрицу и результат.
#include <iostream.h>
using std::cout;
using std::cin;
using std::endl;
int main()
{
int const a = 4;
int const b = 4;
int array[a][b] = {0};
int summNegativ = 0,
z;
for(int i = 0; i < a; i++){
for(int j = 0; j < b; j++){
cout<<" Element [ "<<i<<" ] [ "<<j<<" ] = ";
cin>>array[i][j];
}
}
cout<<endl<<"-----===Vivod massiva===-----"<<endl;
for(int i = 0; i < a; i++)
for(int j = 0; j < b; j++)
cout<<" Element [ "<<i<<" ] [ "<<j<<" ] = "<<array[i][j]<<endl;
cout<<endl<<"-----===Rashot chotnih number===-----"<<endl;
for(int i = 0; i < a; i++){
for(int j = 0; j < b; j++)
if((array[i][j] % 2) == 0 && (array[i][j] != 0)){
summNegativ += array[i][j];
cout<<" Element [ "<<i<<" ] [ "<<j<<" ] = "<<array[i][j]<<endl;
}
}
cout<<endl<<"-----===Vivod Resultata Rashota chotnih chisel===-----"<<endl;
cout<<endl<<" Summa Negativnih chisel ravna = "<<summNegativ<<endl;
cin>>z;
return 0;
}
//---------------------------------------------------------------------------
Масив 2х4х3 заполнить рандомными числами, в диапозоне от 0 до 5. Сосчитать сумму элементов, которые находятся во втором ряду.
Но решил только эту часть. Масив 2х4х3 заполнить рандомными числами, в диапозоне от 0 до 5. вторую не могу, поскольку не могу понять, где второй ряд у трехмерного массива?!
Думаю, это можно перевести на нужный язык?!
//4) Масив 2х4х3 заполнить рандомными числами, в диапозоне от 0 до 5. Сосчитать сумму элементов, которые находятся во втором ряду.
// Но решил только эту часть. Масив 2х4х3 заполнить рандомными числами, в диапозоне от 0 до 5. вторую не могу, поскольку не могу понять,
// где второй ряд у трехмерного массива.
#include <iostream.h>
using std::cout;
using std::cin;
using std::endl;
#include <cstdlib>
int main()
{
int const a = 2;
int const b = 4;
int const c = 3;
int array[a][b][c] = {0};
int summNegativ = 0,
z;
for(int i = 0; i < a; i++){
for(int j = 0; j < b; j++){
for(int r = 0; r < c; r++){
array[i][j][r] = rand() % 5;
cout<<" Element [ "<<i<<" ] [ "<<j<<" ] [ "<<r<<" ] = "<<array[i][j][r]<<endl;
}
}
}
cin>>z;
return 0;
}
//---------------------------------------------------------------------------
Admiral, Вероятно что та которая длиннее, » в этом массиве, вернее размерность
5х8 »То:
1 2 3 4 5 6 7 8
1 2 3 4 5 6 7 8
1 2 3 4 5 6 7 8
1 2 3 4 5 6 7 8
1 2 3 4 5 6 7 8Диагональ, в любом случае одинаковая, либо от первого ряда и 1 и вниз слева направо по рядам к 8 снижается. Либо от первого ряда и 8 и вниз справа налево по рядам к 1 снижается. Не могу толком объяснить, но я знаю, что вы поймёте.
Drongo, это частный случай. А я указал, что если фигура не равномерна. Просто на вопрос какую диагональ считать главной я ассоциативно вспомнил геометрию, а не задание сабжа.
Admiral, это частный случай. А я указал, что если фигура »Спасибо, за разъяснения, а я наоборот, задание вспомнил. :)
Здесь скорее всего речь идёт о подсчёте чисел или определении матрицы. У них там какая то диагональ главная :sorry:
А 2 ряд в трёхмерном массиве - это по простому :yes: сначала плоскость 2х4, а потом ещё 2 плоскости 2х4 получаем 2х4х3 и считаем вторую - среднюю плоскость 2х4. (если числа у нас негативные и позитивные - то моё рассуждение наверное тоже правильное) :)
azbest, конечно, это правильно рассуждение, если речь о плоскостях, которые тоже могут принимать два варианта. В задачи сказан второй ряд, у которого ещё больше вариантов.
azbest, У них там какая то диагональ главная »Как я понял, главная диагональ (http://ru.wikipedia.org/wiki/%D0%93%D0%BB%D0%B0%D0%B2%D0%BD%D0%B0%D1%8F_%D0%B4%D0%B8%D0%B0%D0%B3%D0%BE%D0%BD%D0%B0%D0%BB%D1%8C) - считается от верхнего левого угла к нижнему правому углу. Только я думал, что искомые числа находятся под диагональю, а по ссылке, я понял, что и под и над ней. Но я понял, если матрица равномерная, например: 5х5 или 8х8, а тут ведь, 5х8. по любому диагональ не пройдёт от одного угла к другому, хотя может я не знаю чего-то?! Потом, у главной диагонали индексы одинаковые.
a[0][0]
a[1][1]
a[2][2]
a[3][3] Но ведь опять-таки, это равномерные матрицы\массивы. А где она в неравномерном?!
Admiral, В задачи сказан второй ряд, у которого ещё больше вариантов. »Ещё больше? А я думал, 1-я диагональ строго по вертикали второй ряд, 2-я диагональ по горизонтали, и 3-я диагональ в глубину по плоскости. Тоесть три варианта...
Дигональ (http://festival.1september.ru/2006_2007/index.php?numb_artic=417384)
Drongo речь уже про 4е задание.
Admiral, Drongo речь уже про 4е задание. » Так я понял, просто вы сказали В задачи сказан второй ряд, у которого ещё больше вариантов » а я не могу понять, сколько больше? Я вижу только три. О чём и написал. Ещё больше? А я думал, 1-я диагональ строго по вертикали второй ряд, 2-я диагональ по горизонтали, и 3-я диагональ в глубину по плоскости. Тоесть три варианта... »
Drongo, ну так и правильно: три больше чем два.
если речь о плоскостях, которые тоже могут принимать два варианта. В задачи сказан второй ряд, у которого ещё больше вариантов. »
Вообшем вот, есть программа. В которой есть заполеный масив (рандом)
Program Z4;
uses Crt;
const X=2;
Y=4;
Z=3;
Q=2;
var M1:array[1..X,1..Y,1..Z,1..Q] of integer;
i,k,j,l,S:integer;
begin
ClrScr;
Randomize;
S:=0;
For i:=1 to X do
For k:=1 to Y do
For j:=1 to Z do
For l:=1 to Q do
begin
M1[i,k,j,l]:=Random(5)+1;
S:=S+M1[i,k,j,l];
Writeln(M1[i,k,j,l]);
end;
Writeln(S);
Readln;
end.
Как сделать так, чтобы он вывел этот масив в приблезительно таком виде
1 2 3 4 5 6 7 8
1 2 3 4 5 6 7 8
1 2 3 4 5 6 7 8
1 2 3 4 5 6 7 8
1 2 3 4 5 6 7 8
Хм... Программа заполняет массив 4го порядка 2х4х3х2, это видно по эти строчкам кода
const X=2;
Y=4;
Z=3;
Q=2;
...
For i:=1 to X do
For k:=1 to Y do
For j:=1 to Z do
For l:=1 to Q do
Так что для требуемого вывода массива 2го порядка 5x8 программу не то что стоит переделать но и упростить. :wink:
Program Z4;
uses Crt;
const X=5;
Y=8;
var M1:array[1..X,1..Y] of integer;
i,j:integer;
begin
ClrScr;
Randomize;
For i:=1 to X do
Begin
For j:=1 to Y do
begin
M1[i,j]:=Random(5)+1;
Writeln(M1[i,j]);Write(M1[i,j],' ');
end;
Writeln;
end;
Readln;
end.
P.S.
Если упрощение не нужно, то к исходной проге требуется добавить выделенные строки и исправить перечёркнутую строчку кода.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.