Имя))) 0 / 0 / 0 Регистрация: 27.12.2011 Сообщений: 15 |
||||
1 |
||||
в двумерном массиве посчитать сколько отрицательных чисел05.06.2012, 15:08. Показов 3544. Ответов 7 Метки нет (Все метки)
ввожу только одно значение, выдает ошибку, сразу делает последнее деёствие и закрывается
0 |
rangerx 2020 / 1619 / 489 Регистрация: 31.05.2009 Сообщений: 3,005 |
||||||||
05.06.2012, 15:33 |
2 |
|||||||
0 |
The_Immortal 1569 / 505 / 48 Регистрация: 04.04.2009 Сообщений: 1,891 |
||||
05.06.2012, 15:34 |
3 |
|||
Имя))),
1 |
-comrade- 364 / 365 / 167 Регистрация: 11.06.2010 Сообщений: 703 |
||||
05.06.2012, 15:34 |
4 |
|||
for (i=0; i<4; i++);
1 |
1569 / 505 / 48 Регистрация: 04.04.2009 Сообщений: 1,891 |
|
05.06.2012, 15:41 |
5 |
Ребят, а почему у меня Dev кричит ? Не хочет void воспринимать… Это от компилятора зависит?
0 |
42 / 42 / 8 Регистрация: 24.11.2009 Сообщений: 165 |
|
05.06.2012, 15:43 |
6 |
Ребят, а почему у меня Dev кричит ? Не хочет void воспринимать… Это от компилятора зависит? кстати тоже всегда интересовал этот вопрос, в Borland c++ спокойно компилируется когда main типа void, а вот сейчас всегда стараюсь писать в notepad++ и потом компилировать с помощью g++, и он ругается так же на void :/
0 |
2020 / 1619 / 489 Регистрация: 31.05.2009 Сообщений: 3,005 |
|
05.06.2012, 18:26 |
7 |
The_Immortal, int в качестве возвращаемого значения main(return в main при этом не обязателен).
2 |
0 / 0 / 0 Регистрация: 27.12.2011 Сообщений: 15 |
|
05.06.2012, 19:50 [ТС] |
8 |
Всем большое спасибо.
0 |
IT_Exp Эксперт 87844 / 49110 / 22898 Регистрация: 17.06.2006 Сообщений: 92,604 |
05.06.2012, 19:50 |
8 |
Формулировка задачи:
Найти количество отрицательных элементов в каждой строке
двумерного массива, состоящего из 7 строк и 5 столбцов….решение в паскале и блок схема….)))очень нужно…заранее спасибо))))))))
срочно нужно…завтра зачет!!((((((((помогите пожалуйста((((
Код к задаче: «Найти количество отрицательных элементов в каждой строке двумерного массива, состоящего из 7 строк и 5 столбцов.»
textual
Листинг программы
uses crt; const m=7; n=5; var a:array[1..m,1..n] of integer; i,j,k:integer; begin clrscr; randomize; writeln('Массив:'); for i:=1 to m do begin for j:=1 to n do begin a[i,j]:=random(50)-25; write(a[i,j]:4); end; writeln; end; writeln; writeln('Количество отрицательных в строках:'); for i:=1 to m do begin k:=0; for j:=1 to n do if a[i,j]<0 then k:=k+1; writeln('Строка ',i,'=',k); end; readln end.
Написать программу паскаль, которая выводит на экран количество отрицательных элементов двумерного массива…
Дарья Александровна
Ученик
(208),
закрыт
7 лет назад
Написать программу паскаль, которая выводит на экран количество отрицательных элементов двумерного массива 5 строк и 10 колонок
Высший разум
(1263710)
7 лет назад
program q183452822;
var
i, j, c: Integer;
a: array [1..5, 1..10] of Integer;
begin
Randomize;
c := 0;
for i := 1 to 5 do
begin
for j := 1 to 10 do
begin
a[i, j] := Random(100) – 50;
Write(a[i, j]:4);
if a[i, j] < 0 then
Inc(c);
end;
WriteLn;
end;
WriteLn(‘Count: ‘, c);
ReadLn;
end.
Дарья АлександровнаУченик (208)
7 лет назад
спасибо большое, но объясните пожалуйста такому чайнику как я, почему в это строке Write(a[i, j]:4) четверка?
Высший разум
(1263710)
Чтобы выровнять в столбец. Допустим -50 это 3 символа + 1 пробел = 4
Программа ввода и вывода элементов массива может выглядеть следующим образом:
program z1;
const nm=10; mm=10;
type mas=array[1..nm,1..mm] of real;
var a:mas;
i,j,n,m:integer;
procedure zap(var a:mas);
var i,j:integer;
begin
assign(input,’input.txt’);
reset(input);
readln(n,m);
for i:=1 to n do
for j:=1 to m do
read(a[i,j]);
close(input);
end;
procedure vyv( a:mas);
var i,j:integer;
begin
assign(output,’output.txt’);
rewrite(output);
for i:=1 to n do
begin
for j:=1 to m do
write(a[i,j]:8:2);
writeln;
end;
close(output);
end;
begin
zap(a);
vyv(a);
end.
Сохраните программу в файл и используйте как шаблон для решения задач с двумерным массивом.
Задания
Задание 1. Найти максимальный элемент массива и его номера. Элементы могут повторяться.
Указание: Поиск максимального элемента в двумерном массиве осуществляется таким же образом, как и в линейном массиве: предполагают, что максимальный – это первый элемент, затем максимальный сравнивается со следующим элементом, и если максимальный окажется меньше, то заменяем его значение.
Формат ввода:
В первой строке вводятся числа n и m – количество строк и столбцов массива
В следующих строках находятся элементы массива построчно
Формат вывода:
В первой строке – максимальный элемент
Во второй и следующих строках номер строки и номер столбца максимального элемента
Тесты Посмотреть решение
Экспериментальный раздел
1. Найти минимальный элемент массива и его номера. Элементы могут повторяться.
2. Найти минимальный элемент среди элементов главной и побочной диагоналей.
Задание 2. Найти количество отрицательных элементов в каждой строке.
Указание: количество элементов каждой строки хранить в одномерном массиве соответствующей размерности.
Формат ввода:
В первой строке вводятся числа n и m – количество строк и столбцов массива
В следующих строках находятся элементы массива построчно
Формат вывода:
В строку записаны числа – количества отрицательных элементов в каждой строке
Тесты Посмотреть решение
Экспериментальный раздел
1. Найти количество кратных 5 элементов в каждой строке.
2. Найти количество кратных 5 и 2 элементов в каждой строке.
3. Найти количество кратных 5 или 2 элементов в каждой строке.
4. Найти количество отрицательных элементов в каждом столбце.
Задание 3. Дан двумерный массив А, состоящий из n x m вещественных чисел. Известно, что среди его элементов только два равны между собой. Напечатать их индексы.
Указание: Для просмотра первого элемента использовать циклы по переменным i и j, для просмотра второго элемента использовать циклы по переменным i1 и j1.
Сравниваем a[i,j] c a[i1,j1]. Для исключения просмотра одного и того же элемента проверить условие (not((i=i1) and (j=j1))).
Формат ввода:
В первой строке вводятся числа n и m – количество строк и столбцов массива
В следующих строках находятся элементы массива построчно
Формат вывода:
В первой строке – индексы первого из равных элементов
Во второй строке – индексы второго из равных элементов
Тесты Посмотреть решение
Задание 4. Определить, является ли данный квадратный массив симметричным относительно своей главной диагонали.
Указание: В задачах подобного типа необходимо увидеть зависимость между индексами элементов массива.
Если массив является симметричным, то для него выполняется равенство
A[i, j]=A[j, i] для всех i=1..n и j=1..n.
Формат ввода:
В первой строке вводится число n – количество строк и столбцов массива
В следующих строках находятся элементы массива построчно
Формат вывода:
вывести YES или NO
Тесты Посмотреть решение
Экспериментальный раздел
1. Определить, является ли данный квадратный массив симметричным относительно своей побочной диагонали.
Задание 5. В массиве размерностью NxM к элементам четных столбцов прибавить элемент первого столбца соответствующей строки.
Указание: рассматриваем только четные столбцы и к элементу первой строки прибавляем a[1,1], к элементу второй строки прибавляем a[2,1] и т.д.
Формат ввода:
В первой строке вводятся числа n и m – количество строк и столбцов массива
В следующих строках находятся элементы массива построчно
Формат вывода:
Построчно элементы преобразованного массива
Тесты Посмотреть решение
Экспериментальный раздел
1. В массиве размерностью NxM к элементам четных строк прибавить элемент первой строки соответствующего столбца.
2. К нечетным элементам прибавить соответствующие по строке элементы главной диагонали.
Задание 6. Заполнить массив А размером NxM “змейкой” следующим образом:
1 |
2 |
3 |
4 |
5 |
6 |
7 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
28 |
27 |
26 |
25 |
24 |
23 |
22 |
Указание: Для того, чтобы заполнить, надо вывести правило заполнения:
· если строка нечетная, то A[i,j]=(i-1)*m+j;
· если строка четная, то A[i,j]=i*m-j+1.
Формат вывода
Вывести построчно элементы массива
Посмотреть решение
Экспериментальный раздел
1. Заполнить массив размером m x n змейкой, начиная с последнего элемента.
22 |
23 |
24 |
25 |
26 |
27 |
28 |
21 |
20 |
19 |
18 |
17 |
16 |
15 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
Задания для самостоятельного решения
1. Заменить все отрицательные элементы на противоположные.
2. Дан массив D(6,5). Выведите его на экран в виде таблицы. Найдите и выведите количество элементов больших среднего арифметического всех его элементов.
3. Заполнить массив А размером NxM следующим образом:
21 |
20 |
19 |
18 |
17 |
16 |
15 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
Тест
Подождите!
Не закрывайте страницу. Нейросеть пишет ответ. Он появится тут.
Этот ответ написан нейросетью.
Искуственный интеллект во многом преуспевает, но в некоторых областях может давать неточные ответы.
Если вам не понравился ответ, попробуйте задать его более развёрнуто и конкретно, используя точные параметры.
Ответ нейросети:
Для решения данной задачи потребуется создать графический интерфейс с помощью библиотеки tkinter для более удобного взаимодействия пользователя с программой.
1. Создание графического интерфейса.
Сначала импортируем необходимые библиотеки и создадим главное окно:
from tkinter import * root = Tk() root.title("Program") root.geometry("300x300")
Далее необходимо создать поле для ввода размерности массива и кнопку для вызова функции расчета отрицательных элементов:
n_label = Label(root, text="Input n: ") n_label.pack() n_entry = Entry(root, width=15) n_entry.pack() m_label = Label(root, text="Input m: ") m_label.pack() m_entry = Entry(root, width=15) m_entry.pack() button = Button(text="Count", bg="green", fg="white", width=15, height=2, command = count_negatives) button.pack()
Функция count_negatives будет вызываться при нажатии на кнопку и будет считать количество отрицательных элементов больше -9, а также выводить результат в новом окне.
2. Расчет отрицательных элементов.
Функция count_negatives будет принимать значения полей n_entry и m_entry, создавать двумерный массив, заполнять его случайными значениями и подсчитывать количество отрицательных элементов.
import random def count_negatives(): n = int(n_entry.get()) m = int(m_entry.get()) arr = [[random.randint(-10, 10) for j in range(m)] for i in range(n)] count = 0 for i in range(n): for j in range(m): if arr[i][j] < -9: count += 1 result_window = Toplevel(root) result_window.geometry('200x100') result_window.title('Result') result_label = Label(result_window, text=f"Negative elements > -9: {count}") result_label.pack()
Функция создает массив arr размерности n x m с помощью вложенного генератора списков и считает количество отрицательных элементов больше -9 с помощью двух циклов for. Затем функция создает новое окно с помощью метода Toplevel, выводит на нем результат в виде надписи и открывает его при помощи метода pack().
3. Запуск программы.
root.mainloop()
Вызов метода mainloop() гарантирует постоянное отображение главного окна до закрытия программы пользователем.
Вот и всё! Готово! Теперь при запуске программы будет отображаться главное окно, в котором пользователь должен ввести размерность массива n и m и нажать на кнопку “Count”, которая вызовет функцию count_negatives и выведет количество отрицательных элементов больше -9 в новом окне.
⚠️Зарепортить пост!