Программа работает некорректно понять причины. Есть вот такая запись:
public class StudentsPD
{
private String[] array = new String[10];
private int size = 0;
public void addStudent (String str)
{
array[size] = str;
size += 1;
if (size == array.length)
{
String[]newArray = new String[array.length * 2];
for (int i = 0; i < array.length; i++)
{
newArray[i] = array[i];
}
array = newArray;
}
}
и вот такая:
import java.util.Scanner;
public class Main
{
public static void main (String[]args)
{
Scanner read = new Scanner (System.in);
StudentsPD follower = new StudentsPD ();
System.out.println ("Skol'ko ychenikov vvesti?");
int nYch = read.nextInt ();
for (int i = 0; i <= nYch; i++)
{
System.out.println ("input name " + (i));
follower.addStudent (read.nextLine ());
}
если делать ввод количества учеников с клавиатуры ( оставить на месте строчку int nYch = read.nextInt ();), то при запуске последующего цикла программа пишет подряд две строки:
input name 0
input name 1
и соответственно принимает значения начиная со второго, т.е. если пользователь хочет ввести данные для 5 учеников, то программа примет данные только для 4. попытки запускать цикл не от 0, а от 1 ничего не меняют,.
Однако, если убрать строки
System.out.println ("Skol'ko ychenikov vvesti?");
int nYch = read.nextInt ();
и вместо них написать int nYch=5 то программа корректно запрашивает данные для ученика 0, потом для ученика 1 и т.д., т.е. выводит все корректно. Что не так? почему не работает при вводе nYch с клавиатуры также как при задании его значения в теле программы?
const
n = 4;
begin
var a := new real[n, n](
(1.17, 0.53, -0.84, -0.34),
(0.64, -0.72, -0.43, 0.17),
(0.32, 0.43, -0.93, 0.23),
(1.35, -0.72, 1.38, 0.35));
var b := new real[n](1.15, 0.15, -0.48, 0.88);
var t := ArrFill(n, True);
for var j := 0 to n - 1 do begin
(var amin, var imin) := (real.MaxValue, -1);
for var i := 0 to n - 1 do
if (abs(a[i, j]) < amin) and t[i] then
(imin, amin) := (i, a[i, j]);
if amin = 0 then begin
t[imin] := False;
break
end;
for var k := 0 to n - 1 do
a[imin, k] /= amin; b[imin] /= amin;
t[imin] := False;
for var i := 0 to n - 1 do begin
var coef := -a[i, j] / a[imin, j];
if i <> imin then begin
for var k := 0 to n - 1 do
a[i, k] := a[imin, k] * coef + a[i, k];
b[i] := b[imin] * coef + b[i]
end
end
end;
b.PrintLines
end.
Объяснение:
30) комплекс программ, организующих управление работой компьютера и его взаимодействие с пользователем.
31) последовательная загрузка файлов операционной системы в оперативную память.
32)программа, с которой пользователь решает свои прикладные задачи
33)хранить, получать и обрабатывать
34)работы с текстовой информацией в процессе делопроизводства, редакционно-издательской деятельности и др.
35)Слово
36)возможность уменьшения трудоемкости при работе с текстом
37)устройство ввода текстовой информации
38)Caps Lock
39)форматирование текста.
40)пиксель
41)3 раза
42)электронное, энергозависимое устройство для хранения информации о графическом изображении
43)часть оперативного запоминающего устройства.
44)растровым
45)Линейным
46)красного, зеленого, синего