Напишите в комментариях к этой записи консольные приложения для решения этих задач, укажите также код задачи.
Решены задачи 1,4. Не решены: 2,3,5-10.
Пример решения.
Задачи
Y1.1. Напечатать числа в виде следующей таблицы:
а) 5 5 5 5 5 5
5 5 5 5 5 5
5 5 5 5 5 5
5 5 5 5 5 5
б) 1 2 ... 10
1 2 ... 10
1 2 ... 10
1 2 ... 10
в) 41 42 ... 50
51 52 ... 60
... ... ... ...
71 72 ... 80
Y1.2. Напечатать числа в виде следующей таблицы:
а) 5
5 5
5 5 5
5 5 5 5
5 5 5 5 5
б) 1 1 1 1 1
1 1 1 1
1 1 1
1 1
1
Y1.3. Напечатать числа в виде следующей таблицы:
а) 1
2 2
3 3 3
4 4 4 4
5 5 5 5 5
б) 5 5 5 5 5
6 6 6 6
7 7 7
8 8
9
в) 10
20 20
30 30 30
40 40 40 40
50 50 50 50 50
г) 5 5 5 5 5
10 10 10 10
15 15 15
20 20
25
Y1.4. Напечатать числа в виде следующей таблицы:
а) 0
1 0
2 1 0
3 2 1 0
4 3 2 1 0
б) 6 5 4 3 2
7 4 3 2
8 3 2
9 2
2
в) 30
29 30
28 29 30
27 28 29 30
26 27 28 29 30
г) 20 21 22 23 24
19 20 21 22
18 19 20
17 18
16
Y1.5. Напечатать полную таблицу сложения в виде:
1 + 1 = 2 2 + 1 = 3 ... 9 + 1 = 9
1 + 2 = 3 2 + 2 = 4 ... 9 + 2 = 11
... ... ... ...
1 + 9 = 10 2 + 9 = 11 ... 9 + 9 = 18
Y1.6. Напечатать полную таблицу сложения в виде:
1 + 1 = 2 1 + 2 = 3 ... 1 + 9 = 10
2 + 1 = 3 2 + 2 = 4 ... 2 + 9 = 11
... ... ... ...
9 + 1 = 10 9 + 2 = 11 ... 9 + 9 = 18
Y1.7. Напечатать полную таблицу умножения в виде:
1 х 1 = 1 1 х 2 = 2 ... 1 х 9 = 9
2 х 1 = 2 2 х 2 = 4 ... 2 х 9 = 18
... ... ... ...
9 х 1 = 9 9 х 2 = 18 ... 9 х 9 = 81
Y1.8. Напечатать полную таблицу умножения в виде:
1 х 1 = 1 2 x 1 = 2 ... 9 x 1 = 9
1 х 2 = 2 2 x 2 = 4 ... 9 x 2 = 18
... ... ... ...
1 х 9 = 9 2 х 9 = 18 ... 9 х 9 = 81
Y1.9. Оценки каждого из 18 учеников по трем предметам представлены в виде таблицы.
Ученик |
Предмет |
1 |
2 |
3 |
1 |
4 |
4 |
5 |
2 |
3 |
4 |
3 |
... |
|
|
|
18 |
5 |
4 |
4 |
Составить программу, которая запрашивает каждую из оценок и затем повторяет ее (на той же строчке). Задачу решить в двух вариантах: 1) ввод/вывод оценок осуществляется по строкам; 2) ввод/вывод оценок осуществляется по столбцам.
Y1.10. Баллы, полученные в соревнованиях по пятиборью каждым из восьми спортсменов по каждому виду спорта, представлены в виде таблицы.
Спортсмен |
Вид спорта |
1 |
2 |
... |
5 |
1 |
876 |
655 |
|
604 |
2 |
744 |
634 |
|
780 |
... |
|
|
|
|
8 |
897 |
880 |
|
798 |
Составить программу, которая запрашивает каждое из значений в таблице и затем повторяет его (на той же строчке). Задачу решить в двух вариантах:
1) ввод значений осуществляется по столбцам;
2) ввод значений осуществляется по строкам.
NEW: Наш Чат, в котором вы можете обсудить любые вопросы, идеи, поделиться опытом или связаться с администраторами.
Помощь проекту:
int pupils = Convert.ToInt32(Console.ReadLine());
int schoolSubject = Convert.ToInt32(Console.ReadLine());
int[,] pupilsGrade = new int[pupils, schoolSubject]; //создаем двумерный массив [количество учеников, количество предметов]
for (int i = 0; i < pupilsGrade.GetLength(0); i++) //перебираем учеников
{
for (int j = 0; j < pupilsGrade.GetLength(1); j++) //перебираем предметы для каждого ученика
{
Console.Write($»Input mark for a {i+1} pupil and {j+1} subject: «); //Ученик и предмет не могут быть 0, потому при запросе оценки добавляем 1 к элементу массива.
pupilsGrade[i, j] = Convert.ToInt32(Console.ReadLine()) ;
}
//вывод всей таблицы с учениками и оценками
for (int i = 0; i < pupilsGrade.GetLength(0); i++)
{
for (int j = 0; j < pupilsGrade.GetLength(1); j++)
{
Console.Write(pupilsGrade[i, j] + «\t»);
}
Console.WriteLine();
}
Y1. Организация вывода с использованием вложенных циклов
Y.1.9
Y.1.5
Y1.3
Y1.2
Y1.8
Y1.2
1.4.1
Prog_ram, хорошо.
Но ваш код очень не гибкий. Если поменяю границы (10 строк например), придется много переписывать.
Подумайте как сделать код меньше и более гибким (прсото 2 вложенных цикла и вывод во внутреннем).
1.3.4
static void Main(string[] args)
{
int k = 5;
for (int i = 0; i < 5; i++)
{
for (int j = i; j < 5; j++)
{
if (k==5)
{
Console.Write(k + » «);
}
else
{
Console.Write(k + » «);
}
}
k += 5;
Console.WriteLine();
}
}
1.3.3
static void Main(string[] args)
{
int k = 10;
int t = 50;
for (int i = 0; i < t; i+=10)
{
for (int j = 0; j < t; j+=10)
{
if (i >= j)
{
Console.Write(k + » «);
}
}
k += 10;
Console.WriteLine();
}
}
for (int i = 0; i < 4; i++)
{
for ( ; j < k; j++)
{
Console.Write(j+ » «);
if(j == k)
{
j = k;
}
}
k += 10;
Console.WriteLine(«»);
}
1.2
а) for(int i = 0; i < 5 ;i++)
{
for(int j = 0 ; i — j >= 0 ;j++ )
{
Console.Write(5 + » «);
}
Console.WriteLine();
}
б) for(int i = 5; i > 0 ;i—)
{
for(int j = 0 ; i — j > 0 ;j++ )
{
Console.Write(1 + » «);
}
Console.WriteLine();
}
Алексей В, все верно. Молодец. И довольно понятно.
Но можно на много оптимальней. Кто вам сказал, что эти числа нужно где то хранить? Их нужно просто вывести. Может можно вообще без массивов? И так что-бы было гибко — и для 5,6,7,…,20,… строк?
Задание 2. Сделал через массив массивов, еще можно вывести через цикл foreach
static void Main(string[] args) { int[][] arr1 = new int[5][]; arr1[0] = new int[1]; arr1[1] = new int[2]; arr1[2] = new int[3]; arr1[3] = new int[4]; arr1[4] = new int[5]; for(int i=0; i
Y1.1. Используя вложенные циклы выведите на экран таблицу вида:
@ @ @ @ @ @ @ @ @ @
@ @ @ @ @ @ @ @ @ @
@ @ @ @ @ @ @ @ @ @
@ @ @ @ @ @ @ @ @ @
Количество строк и столбцов пользователь вводит с клавиатуры.
Напечатать числа в виде следующей таблицы:
а) 5
5 5
5 5 5
5 5 5 5
5 5 5 5 5
Решение:
Николай!
Уже были два решения этой задачи (Юлия и Антон), см. выше.
Ваше небольшое отличие — нет пробелов между 5.
Но все равно, с началом!
Y1.9. Не совсем понятно в каком виде должен быть представлен ответ.
Антон! Ввод по строкам выполнен верно. Повтор введенного числа на той же строчке, похоже, не возможен простыми средствами. Вывод массива, который Вы добавили, позволяет увидеть массив целиком и проверить на соответствие исходной таблице. Зачет.
Y1.5. Напечатать полную таблицу сложения в виде:
1 + 1 = 2 2 + 1 = 3 … 9 + 1 = 10
1 + 2 = 3 2 + 2 = 4 … 9 + 2 = 11
… … … …
1 + 9 = 10 2 + 9 = 11 … 9 + 9 = 18
Антон, верно.
Y1.4. Напечатать числа в виде следующей таблицы:
г)
20 21 22 23 24
19 20 21 22
18 19 20
17 18
16
Антон, верно.
Y1.2. Напечатать числа в виде следующей таблицы:
а) 5
5 5
5 5 5
5 5 5 5
5 5 5 5 5
Антон! Сравните Ваше решение с решением Юлии!
Извиняюсь)
По результату и смыслу алгоритмов — одно и тоже?
Y1.4. Напечатать числа в виде следующей таблицы:
в)
30
29 30
28 29 30
27 28 29 30
26 27 28 29 30
Пример решения:
Юлия! Решение верное, но чуть навороченное (аналог предыдущего Вашего решения, да еще с массивом).
А если так?
Y1.4. Напечатать числа в виде следующей таблицы:
а)
0
1 0
2 1 0
3 2 1 0
4 3 2 1 0
Пример решения:
Юлия! Чуть проще (уменьшая j) — так:
Y1.3. Напечатать числа в виде следующей таблицы:
а)
1
2 2
3 3 3
4 4 4 4
5 5 5 5 5
в)
10
20 20
30 30 30
40 40 40 40
50 50 50 50 50
Решение
Юлия, заметьте: Алгоритм а) и в) практически одинаковы.
Да, спасибо, так действительно красивее код смотрится))
Y1.2. Напечатать числа в виде следующей таблицы:
б) 1 1 1 1 1
1 1 1 1
1 1 1
1 1
1
Пример решения:
Верно.
Почему вы здесь написали префиксный Декремент?
Верно все, что дает правильный результат. С постфиксным декрементом результат будет тот же, проверьте!
Y1.2. Напечатать числа в виде следующей таблицы:
а)
5
5 5
5 5 5
5 5 5 5
5 5 5 5 5
Пример решения:
Верно.
Y1.1. b) Напечатать числа в виде следующей таблицы:
1 2 … 10
1 2 … 10
1 2 … 10
1 2 … 10
Пример решения:
Юлия! пишите проще.
Y1.1. Напечатать числа в виде следующей таблицы
в)
41 42 … 50
51 52 … 60
… … … …
71 72 … 80
Подскажите, как это задание можно сделать попроще?
Vladi! Вложенные циклы (тема задач) — нужная вещь. Проще — вот так!
Ясно, спасибо!
maks, все верно! Но переменную аутпут можно не обнулять, если ее объявить во внутреннем блоке, ведь она только там и используется.
Подскажите, пожалуйста, как решить задачи 1.4_а и 1.4_б. Я никак не могу отследить логику построения тех чисел
В Y1.4a была ошибка, исправил. В Y1.4б логика есть, подумайте!
По поводу Y1.4а — спасибо, а по Y1.4б…
там точно в первом столбце должны стоять числа:
6
7
8
9
2
а не числа
6
5
4
3
2
заранее спасибо
Илья, а если так:
не понимаю, как необходимо выполнить последние два задания
Дмитрий! Таблицу рисовать не надо. Вводить и выводить через вложенные циклы. В 9-й а): от 1 до 18 (по строкам), внутри от 1 до 3 (по столбцам). Для остальных — аналогично с учетом условий.
Y1.1.a) Напечатать числа в виде следующей таблицы:
5 5 5 5 5 5
5 5 5 5 5 5
5 5 5 5 5 5
5 5 5 5 5 5
Пример решения
Лаконично, Сергей.