Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.04.2019, 14:43   #1
Saggitarius1
 
Регистрация: 28.04.2019
Сообщений: 5
По умолчанию Помогите понять, что делает каждая из этих программ. Написаны на языке С

1:

Код:
#include <iostream>
using namespace std;
int main(){
	double x,y;
	for(x=-5;x<=2;x+=0.5){
		y=-35*x*x*x+6*x*x-3;
		cout<<"y = "<<y<<" "<<"x = "<<x<<endl;		
	}
	return 0;
}
2:

Код:
#include <iostream>
#include <cstdio>
using namespace std;
int main(){
	char a[6],b[]="0123456789ABCDEFabcdef";
	int f=0;
	gets(a);
//	for(int i=0;i<6;i++) cin>>a[i];
	for(int i=0;i<6;i++){
		f=0;
		for(int j=0;j<22;j++){
			if(a[i]==b[j]){
				f=1;
				break;
			}
		}
		if(f==0) break;
	}
	if(f==0) cout<<"Stroka ne yavlyaetsya shestnadcaterichnim chislom";
	else cout<<"Stroka yavlyaetsya shestnadcaterichnim chislom";
	return 0;
}
3:

Код:
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
int main(){
	srand(time(NULL));
	int n,m,otric=0,poloj=0;
	cout<<"Vvedite kolichestvo strok: ";
	cin>>n;
	cout<<"Vvedite kolichestvo stolbcov: ";
	cin>>m;
	int a[m][n];
	for(int i=0;i<n;i++){
		for(int j=0;j<m;j++){
			a[i][j]=rand()%19-9;
		//	cin>>a[i][j];
		}
	}
	cout<<endl<<"Vvedenniy massiv:"<<endl<<endl;
	for(int i=0;i<n;i++){ //вывод введённого массива на экран
		for(int j=0;j<m;j++){
			if(a[i][j]>=0) cout<<" "; //вывод перед элементом без знака дополнительного пробела, для лучшего отображения 
			cout<<a[i][j]<<" ";
		} 
		cout<<endl<<endl;
	}
	cout<<endl;
	for(int i=0;i<n-1;i++){ 
		for(int j=i+1;j<m;j++){
			if(a[i][j]>=0) cout<<" "; //вывод перед элементом без знака дополнительного пробела, для лучшего отображения 
			cout<<a[i][j]<<" "; //вывод элементов выше главной диагонали на экран
			if(a[i][j]>=0) poloj++; //подсчёт количества положительных и отрицательных элементов
			else otric++;
		}
	}	
	cout<<endl<<endl;
	cout<<"Polojitelnih: "<<poloj<<endl;
	cout<<"Otricatelnih: "<<otric<<endl;
	for(int i=0;i<n-1;i++){ //обнуление тех элементов, которых меньшинство
		for(int j=i+1;j<m;j++){
			if(poloj>otric) if(a[i][j]<0) a[i][j]=0; 
			if(poloj<otric) if(a[i][j]>=0) a[i][j]=0;
		}
	}
	cout<<endl;
	for(int i=0;i<n;i++){ //вывод изменённого массива
		for(int j=0;j<m;j++) {
			if(a[i][j]>=0) cout<<" "; //дополнительный пробел для чисел без знака
			cout<<a[i][j]<<" ";
		}
		cout<<endl<<endl;
	}
	return 0;
}
4:

Код:
#include <iostream>
using namespace std;
int main(){
	int n,m,sum=0;
	cout<<"Kolichestvo strok: ";
	cin>>n;
	cout<<"Kolichestvo stolbcov ";
	cin>>m;
	int a[n][m];
	for(int i=0;i<n;i++){ //Ввод элементов массива
		for(int j=0;j<m;j++){
			cin>>a[i][j];
		}
	}
	cout<<"Vvedenniy massiv: "<<endl;
	for(int i=0;i<n;i++){ //Вывод введённого массива
		for(int j=0;j<m;j++){
			cout<<a[i][j]<<" ";
			if((i+1)%2==0) sum+=a[i][j]; //сложение элементов массива по чётным строкам
		}
		cout<<endl;
	}
	cout<<"Sum = "<<sum; //Вывод суммы элементов по чётным строкам
	return 0;
}
5:

Код:
#include <iostream>
using namespace std;
bool funk(char a){
	char b[]="AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz";
	for(int i=0;b[i];i++){
		if(a==b[i]) return false;
	}
	return true;
}
int main(){
	char b;
	cin>>b;
	cout<<funk(b);
}
6:

Код:
#include <iostream>
using namespace std;
int main(){
	while(true){
		double x,y;
		cout<<"Vvedite x: ";
		cin>>x;
		cout<<"Vvedite y: ";
		cin>>y;
		if(x<=2 && x>=-2 && y<=1.5 && y>=-1.5){
			if(x<=1 && x>=-1 && y<=1 && y>=-1){
				if((x>=0 && y>=x) || (y>=0 && y<=-x) || (x<=0 && y<=x) || (y<=0 && y>=-x)) cout<<"Popal"<<endl<<endl;
				else cout<<"Ne popal"<<endl<<endl;
			}
			else if((x<=0 && y>=(-x+1)/2) || (x>=0 && y<=(-x-1)/2)) cout<<"Popal"<<endl<<endl;
				else cout<<"Ne popal"<<endl<<endl;
		}
		else cout<<"Ne popal"<<endl<<endl;
	}
	return 0;
}
Пожалуйста, оформляйте Ваш код согласно правилам.
Заранее спасибо.

Последний раз редактировалось Вадим Мошев; 28.04.2019 в 14:51.
Saggitarius1 вне форума Ответить с цитированием
Старый 14.05.2019, 10:41   #2
Saggitarius1
 
Регистрация: 28.04.2019
Сообщений: 5
По умолчанию Что делает эта программа?

Программа 1


Код:
#include <iostream>
using namespace std;
int main(){
	double x,y;
	for(x=-5;x<=2;x+=0.5){
		y=-35*x*x*x+6*x*x-3;
		cout<<"y = "<<y<<" "<<"x = "<<x<<endl;		
	}
	return 0;
}
Saggitarius1 вне форума Ответить с цитированием
Старый 14.05.2019, 10:49   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

1) табулирование функции y на интервале [-5,2] с шагом 0.5
2) вводит строку и проверяет, является ли она шестнадцатеричным числом (состоит строго из заданных символов)

Последний раз редактировалось Serge_Bliznykov; 14.05.2019 в 10:51.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 14.05.2019, 12:03   #4
Saggitarius1
 
Регистрация: 28.04.2019
Сообщений: 5
По умолчанию

Спасибо! А что делают остальные программы?
Saggitarius1 вне форума Ответить с цитированием
Старый 14.05.2019, 12:16   #5
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от Saggitarius1 Посмотреть сообщение
Спасибо! А что делают остальные программы?
5 - вводит один символ и перебором проверяет, входит ли он в строку латинских символов. Если входит - функция возвращает false, что и выводится в консоль.


Вы попробуйте хотя бы комментарии прочитать.
если что-то останется непонятным - спросите более конкретно.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 14.05.2019, 13:02   #6
val_nnm
Форумчанин
 
Регистрация: 18.10.2009
Сообщений: 185
По умолчанию

3)
- Спрашивает с клавиатуры размер массива.
- Заполняет этот массив случайными числами от -9 до 9. (когда то она вводила эти числа с клавиатуры, но эта строка закомментирована)
- выводит на экран исходный массив.
- подсчитывает количество "положительных" и "отрицательных" элементов в массиве находящихся выше главной диагонали. (тут ошибка. т.к. программа считает число 0 за положительное). Попутно выводя все элементы выше главной диагонали.
- выводит количество "положительных" и "отрицательных" элементов.
- обнуляет либо "положительные" либо "отрицательные" элементы находящиеся выше главной диагонали. (в зависимости от того каких элементов оказалось меньше) (если элементов оказалось поровну, ничего не обнуляется)
- Выводит на экран получившийся массив.
На С# пишу лучше чем на русском.
"У меня правильнописание хромает. Оно хорошее, но почему-то хромает."
val_nnm вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите понять что делает эта функция ARLy_19 Общие вопросы C/C++ 3 30.12.2017 02:09
[c++] Транспонирование матрицы. Нужно разобраться в коде, напишите пожалуйста что делает каждая строка Enni Общие вопросы C/C++ 6 10.09.2016 17:59
Нужно понять как работает и что делает программа exe Serega_Gerasim Софт 10 08.06.2016 16:15
Обьяснить код программи, что каждая строка делает NastyaV Фриланс 2 26.03.2011 17:04