#include<iostream> int main() { int nn,kk; printf("Enter peoples and -kk: "); scanf("%d%d",&nn,&kk); int n[nn]; int k = kk; int sum, p, l = 0, i = 0, q = 0; for(int i = 0; i < nn; i++) { n[i] = 1; printf("%d ",n[i]); } printf("\n"); do{ sum = 0; p = l; q = 0; for(int i = 0; i < nn; i++) { if(n[i]) { sum++; } } for(;q!=kk;) { if(i==nn) i = 0; if(n[i]) { p++; q++; } if(q==kk) { n[i] = 0; l = i; } i++; } for(int i = 0; i < nn; i++) { printf("%d ",n[i]); } printf("\n"); }while(sum>2); for(int i = 0; i < nn; i++) { if(n[i]) { printf("Last: %d#",i+1); } }
return 0; }
ulyana-d
02.11.2022
Как говорится, это вам не С++ - тут все очень быстро и коротко
// PascalABC.NET 3.3, сборка 1531 от 30.08.2017 // Внимание! Если программа не работает, обновите версию!
begin var L:=new List<(string,real)>; // это не решение задачи, это ввод данных Writeln('Введите в каждой строке фамилию, пробел, время'); var i:=1; repeat var s:=ReadlnString(i+': '); if s[1]='*' then break; var w:=s.ToWords; L.Add(Rec(w[0],real.Parse(w[1]))); i+=1; until false; // а теперь само решение Writeln(L.MinBy(x->x[1])) end.
Пример Введите в каждой строке фамилию, пробел, время 1: Иванов 10.3 2: Петров 9.9 3: Уточкин 10.1 4: * (Петров,9.9)