Составить программу на C++ (желательно с объяснениями, что и как)
Посчитайте количество элементов одномерного массива, которые совпадают со своим номером и при этом кратные 3.


restIess: Что можно объяснять в такой простой программе?
divanniy: Не все тут такие умные, уж простите
restIess: Здесь нет какого-то сложного алгоритма, чтобы его разъяснять, если человек не знает синтаксис, то объяснения ему нужны только лишь чтобы сдать программу преподу, потому что данный ученик ничего не понимает и тупо хочет списать…
divanniy: Вполне возможно. Я не делаю выводов из такого количества информации, но каждый считает по своему
Репорт, кстати, кинул не я, а скорее всего автор вопроса.

Ответы

Ответ дал: pasha888000
0

Ответ:

Все расписал в объяснении писал прогу в DevC++.

Объяснение:

//Пишу на DevC++

#include <stdio.h>//ввод и вывод

#include <stdlib.h>//Не помню прочитаешь

#include <math.h>//Математические действия на всякий случай подключил

#include <locale.h>//Библиотечка для подключения русского

#include <time.h>//Лаборатория со временем подключаю чтобы настроить рандом

int main(){    //Объявление самой программы

setlocale(LC_ALL, "rus");     //Подключение русского языка(чтобы при выводе на экран русский выводил)

int s, i, N = 1000, count = 0;       //Объявление переменных

int A[N], B[N];            //Объявление массивов

system("color 2");           //Ставим себе цвет текста

printf("Весь массив: \n\n");       //Выводим на экран текст

for(i=1; i<1000;i++){          //Цикл for(начальное значение; конечное значение; шаг(на сколько идет увеличение или уменьшение)

 A[i] = rand()%1000;         //Цикл в котором i-ому элементу массива присваивается рандомное число от 0 до 1000

}          //Закрытая скобка закрытие цикла

for(i=1; i<1000;i++){          //Снова цикл for

 printf("%d\t", A[i]);     //Вывод на экран поочередно элементы массива

}   //Закрытая скобка

printf("\n\nМассив в котором элемент совпадает со своим номером:\n");//Вывод текста

for(i=1; i<1000;i++){   //Цикл for

 if(i==A[i]){   //Цикл if равнение в скобках равно ли i и элемент массива A[i]

  if(A[i] % 3 == 0){   //Если остаток от деления числа массива с номером i на 3 равно 0 (деление без остатка) то идем в цикл

   printf("%d\t", A[i]);   //Выводим на экран все числа массива удовлетворяющие условию

   count+=1;   //счетчик

  }  //Закрыто

 }  //Закрыто

}  //Закрыто

if(count == 0) printf("\nТаких элементов нет\n");   //Если счетчик равен нулю выводим строку

printf("\nКоличество элементов которые совпадают со своим номером: %d\n", count);//выводим строку и вписываем в конце число счетчика

}  //Закрыто

Приложения:

divanniy: можно было сделать все за один цикл
divanniy: Проверку кратности трем и того, что число равно своему номеру сразу после того, как оно было сгенерировано рандомом.
И объединить это в один if с помощью &&
pasha888000: Требовалось написать программу, оптимизировать не обязательно было!
danny1265: ребята спасибо вам обоим за помощь. можете посоветовать пособия или литературу для хорошего понимания c++, а то знания оставляют желать лучшего
divanniy: Если совсем не знаете С-подобные языки, то лучше посмотреть какие-нибудь видео. Тимофей Хирьянов хорошо подойдет, но видео очень длинные и подробные. С ним не просто пишешь код, а понимаешь работу компьютера изнутри, если так можно выразиться.

Если нужно не настолько подробно - можно найти видео покороче либо поискать в интернете основы программирования с примерами.
divanniy: Если хочется не просто писать код и развивать абстрактное мышление, но и видеть результат физически, а не на экране монитора, то можно попробовать Arduino. Оно тоже работает на C++

Лично я уже знал Processing, Python и немного Arduino, когда начал учить C++, поэтому мне было нетрудно.
Ответ дал: divanniy
1

using namespace std;

#include <iostream>

#include <clocale>

#include <cstdlib>

#include <iomanip>

#include <string>

#include <ctime>

int main() {

setlocale(LC_ALL, "rus");

system("chcp 1251");

srand(time(0));

const int arraysize = 50;

int array[arraysize];

int count = 0;

for (int i = 0; i < arraysize; i++) {

 array[i] = rand() % 50;

 if (i % 3 == 0 && array[i] == i) count++;

 cout << array[i] << " ";

}

cout << endl << endl << "Количество чисел, совпадающих со своим номером и кратных трем: " << count << endl;

system("pause");

return 0;

}

Вас заинтересует