1.
#include <iostream>
using namespace std;
int main()
{
const int N;
int a[N];
int b=0;
int i=1;
bool c;
if(a[0]%2==0)
c=true;
else
c=false;
while(i<=N && b==0)
{
if(c==true)
{
if(a[i]%2==1)
{
c=false;
}
else
{
b=i;
}
}
else
if(c==false)
{
if(a[i]%2==0)
{
c=true;
}
else
{
b=i;
}
}
i++;
}
cout<<b<<endl;
return 0;
}
2.
#include<iostream>
using namespace std;
int main()
{
const int N;
float a[N];
float b[N];
for(int i=0;i<=N;i++)
{
float c=0;
int d=0;
for(int i2=i;i2<=N;i2++)
{
c+=a[i2];
d++;
}
c/=d;
b[i]=c;
}
return 0;
}.
это не степени, это системы счисления, если что :)
в скобках будет указана система, в которой сейчас данное число, а после знака ^ - степень, в которую надо возвести основание системы счисления
543(8)=5*8^2 + 4*8^1 + 3*8^0 = 320+32+3=355(10)
39(8)=3*14^1 + 9*14^0 = 42+9=51(10)
если надо наоборот - то делите число, которое надо перевести, на основание системы, в которую хотите перевести, до тех пор, пока оно не станет меньшим, чем его возможно будет разделить, и тогда запишите все остатки делений, причем снизу вверх, и начиная с последнего, которое не разделили
543:8=67, остаток 7(записываем в конец)
67:8= 8, остаток 3(предпоследнее)
8:8=1. остаток 0(записываем перед 3)
и 1, которое нельзя разделить, записываем самым первым.
543(10)=1037(8)
по аналогии, 39(10)=2В(считайте сами, это просто, а числа, большие 9 обозначайте как А(соответствует 10), В(11), С(12) и D(14). пятнадцати нет, так как есть еще 0
ну, надеюсь, что перевести дальше сможете?
суммы теперь:
372(8)+536(8)=1130. сумма считается так же, как и в десятиричной, нашей, системе, но только там переход через десяток осуществляется, если число больше 7.
875(9)+536(9)=1522
11011(2)+1111(2)=101010
Задача 1:
using System;
namespace ConsoleApp1
{
class Program
{
static double Method(double x, double y)
{
return 5 * x * x + 3 * y * y;
}
static void Main(string[] args)
{
int a, b, c, d;
Console.WriteLine("Введите a:");
a = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Введите b:");
b = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Введите c:");
c = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Введите d:");
d = Convert.ToInt32(Console.ReadLine());
if (Method(a, b) < Method(c, d))
Console.WriteLine("Значение 5x^2+3y^2 минимально для чисел {0} и {1}",a,b);
else
Console.WriteLine("Значение 5x^2+3y^2 минимально для чисел {0} и {1}", c, d);
}
}
}
Задача 2:
using System;
namespace ConsoleApp1
{
class Program
{
static void Swap(ref int n, ref int m)
{
int tmp = n;
n = m;
m = tmp;
}
static void Main(string[] args)
{
int[] A = new int[10];
Random r = new Random();
Console.WriteLine("Исходный массив: ");
for (int i = 0; i < 10; i++)
{
A[i] = r.Next(100);
Console.Write(A[i]+" ");
}
for (int i = 0; i < 9; i++)
for (int j = i + 1; j < 10; j++)
if (A[i] < A[j]) Swap(ref A[i],ref A[j]);
Console.WriteLine("\nОтсортированный по убыванию массив: ");
for (int i = 0; i < 10; i++)
Console.Write(A[i] + " ");
}
}
}