Значение переменной i не задано, поэтому выведет что - то произвольное, почему while (a< n) ? а если первая цифра слева в числе = 1? while (a< n) нужно заменить на while (0< n)убрать строку a=n%10; перед whileпосле строки min=10; добавить строку i=0; после изменений будет примерно так: #include< stdio.h> #include< conio.h> main() { int n,a, min, i, imin; scanf("%d", & n); min=10; i=0; while (0< n) { i++; a=n%10; n=n/10; if (a< min) { min=a; imin=i; } } printf ("%d", imin); getch(); return 0; }
OlgaVasilevna
12.11.2021
Uses crt; var s,s1: string; a: array[1..100] of string; n,i,j,k: byte; begin clrscr; writeln('введите текст из слов, разделенных пробелами'); readln(s); s: =' '+s+' '; {добавим пробел в начало и в конец} n: =length(s); i: =2; k: =0; {всего слов} while i< =n do if (s[i]< > ' ')and (s[i-1]=' ') then{если не пробел а перед ним пробел} begin k: =k+1; {+ слово} j: =i; s1: =''; while (j< =n) and (s[j]< > ' ') do {пока не пробел и не конец строки} begin s1: =s1+s[j]; j: =j+1; end; a[k]: =s1; {пишем его в массив} i: =i+length(s1); {перешагиваем через слово} end else i: =i+1; {пропускаем пробелы} for i: =1 to k-1 do {сортируем массив по возрастанию=по алфавиту} for j: =i+1 to k do if a[i]> a[j] then begin s1: =a[i]; a[i]: =a[j]; a[j]: =s1 end; writeln('слова текста в алфавитном порядке: '); for i: =1 to k do writeln(a[i]); readln end.
Ответить на вопрос
Поделитесь своими знаниями, ответьте на вопрос:
1)какие сигналы поступают в цп? 2)какие сигналы поступают от цп при чтении данных из оп?