sunrise
?>

Напишите программу, которая выводит номера элементов массива, равных заданному значению x . входные данные первая строка содержит размер массива n . во второй строке через пробел n чисел – элементы массива. в третьей строке записано число x . гарантируется, что 0 < n ≤ 10000 . выходные данные программа должна вывести в одной строке номера элементов массива, равных x , разделив их пробелами. предполагается, что нумерация начинается с единицы. если таких элементов нет, нужно вывести число -1.

Информатика

Ответы

beglovatatiyana

using System;

using System.Linq;

namespace task29760750

{

   internal class Program

   {

       private static void Main(string[] args)

       {

           var N = int.Parse(Console.In.ReadLine());

           var array = Console.In.ReadLine()

               .Split(' ')

               .Select(int.Parse)

               .ToArray();

           var X = int.Parse(Console.In.ReadLine());

           var indices = array

               .Select((t, i) => t == X ? i : -1)

               .Where(t => t > 0)

               .ToArray();

           Console.Out.WriteLine(indices.Any() ? string.Join(" ", indices) : "-1");

       }

   }

}

spikahome
Program Bally; var a:array[1..250] of string; N,l,max,x,i,b,p:integer; z,k:string; begin max:=0; readln(N); for i:=1 to N do readln(a[i]); z:=a[1]; l:=Pos(' ',z); Delete(z,1,l); l:=Pos(' ',z); Delete(z,1,l); Val(copy(z,1,Pos(' ',z)-1),x,l); max:=max+x; Delete(z,1,Pos(' ',z)); Val(copy(z,1,Pos(' ',z)-1),x,l); max:=max+x; Delete(z,1,Pos(' ',z)); Val(z,x,l); max:=max+x; for i:=2 to N do begin z:=a[i]; b:=0; l:=Pos(' ',z); Delete(z,1,l); l:=Pos(' ',z); Delete(z,1,l); Val(copy(z,1,Pos(' ',z)-1),x,l); b:=b+x; Delete(z,1,Pos(' ',z)); Val(copy(z,1,Pos(' ',z)-1),x,l); b:=b+x; Delete(z,1,Pos(' ',z)); Val(z,x,l); b:=b+x; if b>max then max:=b; end; for i:=1 to N do begin z:=a[i]; b:=0; l:=Pos(' ',z); p:=l; Delete(z,1,l); l:=Pos(' ',z); p:=p+l; Delete(z,1,l); Val(copy(z,1,Pos(' ',z)-1),x,l); b:=b+x; Delete(z,1,Pos(' ',z)); Val(copy(z,1,Pos(' ',z)-1),x,l); b:=b+x; Delete(z,1,Pos(' ',z)); Val(z,x,l); b:=b+x; if b=max then begin z:=a[i]; delete(z,p,length(z)-p+1); writeln(z); end; end; end. Наверное так!!
fedorenkoroman
Компьютеры используют двоичную систему потому, что она имеет ряд преимуществ перед другими системами:для ее реализации нужны технические устройства с двумя устойчивыми состояниями(есть ток - нет тока, намагничен - не намагничен и т.п.), а не, например, с десятью, - как в десятичной;представление информации посредством только двух состояний надежноипомехоустойчиво;возможно применение аппарата булевой алгебрыдля выполнения логических преобразований информации;двоичная арифметика намного проще десятичной.

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Напишите программу, которая выводит номера элементов массива, равных заданному значению x . входные данные первая строка содержит размер массива n . во второй строке через пробел n чисел – элементы массива. в третьей строке записано число x . гарантируется, что 0 < n ≤ 10000 . выходные данные программа должна вывести в одной строке номера элементов массива, равных x , разделив их пробелами. предполагается, что нумерация начинается с единицы. если таких элементов нет, нужно вывести число -1.
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

sadkofamily61
mukbidc
siren89
alenih13
layna1241383
melissa-80
donertime8
shmidt
mashiga2632
sport2293032
nordwokintos4
annakuzina2023
pak1998378
Stefanidi_Semeikina1896
Popova-Erikhovich