Если в наборе содержится число 2, то вывести сумму его элементов - C (СИ)
Формулировка задачи:
Нужно решение задач перевести с паскаля на Си, сам не нарю как это сделать...
1.Даны целые числа K, N, а также K наборов целых чисел по N элементов в каждом наборе. Для каждого набора выполнить следующее действие: если в наборе содержится число 2, то вывести сумму его элементов; если в наборе нет двоек, то вывести 0.
2.Дано целое число N (> 1) и набор из N целых чисел. Вывести те элементы в наборе, которые меньше своего левого соседа, и количество K таких элементов.
Program example;
const
max=100;
var
TheArr:array [1..max,1..max]of integer;
k,n:integer;
i,j:integer;
sum:integer;
bool:boolean;
begin
repeat
write('Введите k и n');readln(k,n);
until (k and n)<max;
for i:=1 to k do
begin
bool:=false;
sum:=0;
for j:=1 to n do
begin
sum:=sum+TheArr[i,j];
if(TheArr[i,j]=2)then
begin
bool:=true;
end;
end;
if(bool)then
begin
writeln('Сумма ряда=',sum);
end
else
begin
writeln('Сумма ряда=',0);
end;
end;
end.Program example1;
const
N=10;
TheArr:array [1..N]of byte=(1,2,3,4,2,4,3,7,8,9);
var
i:byte;
k:byte;
begin
k:=0;
for i:=2 to N do
begin
if(TheArr[i]<TheArr[i-1])then
begin
Write(TheArr[i],' ');
k:=k+1
end;
end;
Writeln;
write('К=',k);
end.Решение задачи: «Если в наборе содержится число 2, то вывести сумму его элементов»
textual
Листинг программы
#include <stdio.h>
#define MAX 100
int main()
{
int TheArr[MAX][MAX];
int k=101,n=101;
int i,j,sum,b;
while (k>MAX || n>MAX)
{
printf("Enter k,n: ");
scanf("%d,%d",&k,&n);
}
for(i=0; i<k; i++)
{
for(j=0; j<n; j++)
{
printf("Enter series %d element %d: ",i,j);
scanf("%d",&TheArr[i][j]);
}
}
for(i=0; i<k; i++)
{
b=0;
sum=0;
for(j=0; j<n; j++)
{
sum+=TheArr[i][j];
if(TheArr[i][j]==2)
b=1;
}
if(b==1)
printf("Sum = %d\n",sum);
else
printf("Sum = 0\n");
}
return 0;
}
Объяснение кода листинга программы
В этом коде:
- Объявляется массив TheArr размером MAX х MAX.
- Пользователю предлагается ввести k и n (количество строк и столбцов массива).
- Затем пользователь вводит все элементы массива по строкам.
- После заполнения массива, программа проверяет каждый элемент массива на равенство 2.
- Если элемент равен 2, то программа вычисляет сумму всех элементов этой строки и выводит ее.
- Если элемент не равен 2, то программа выводит 0. Список переменных:
- TheArr - массив для хранения чисел.
- k - количество строк в массиве.
- n - количество столбцов в массиве.
- i, j - индексы для обхода массива.
- sum - переменная для хранения суммы элементов строки.
- b - флаг для определения, есть ли в строке число 2.
- MAX - максимальное количество элементов в массиве.