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

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

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.12.2009, 09:47   #1
серг
Форумчанин
 
Регистрация: 02.11.2009
Сообщений: 179
По умолчанию добрые люди помогите переправить программу

написал две проги а теперь нужно их через функцию сделать
подскажите новичку как это делается прост никак не пойму (((
проги уже проверены они рабочие надо только код переделать чтоб через func работала

№1
Код:
#include<stdio.h>                 
#include<conio.h>                      
#include<stdlib.h>
#include<clocale>

void main ()
{ 
setlocale(LC_ALL, "Russian");
int i;
int mas[20];
int *MAS=mas;
int ch=0;
int n=0;
{
   for (i=0;i<=19;i++)
   *(MAS+i)=rand()%100;
   {
     for (i=0;i<=19;i++)
     printf(" %d",*(MAS+i));
     printf("                      ");

   }
   for (i=0;i<=19;i++)
   if (*(MAS+i)%2==0)
   ch=ch++;
   else n=n++;
}
printf("Число четных элементов равно: %d",ch);
printf(" \n");
printf("Число нечетных элементов равно: %d",n);
getch();
}
№2

Код:
#include<stdio.h>                 
#include<conio.h>                      
#include<stdlib.h>
#include <iostream>
using namespace std;


int main(int argc, char* argv[])//параметр argv является указателем на массив указателей на строки
         //Параметр argc содержит количество аргументов в командной строке и является целым числом
{
	int i,j,N,M; 
	double* mas; 
	N=10; M=6;// Размерность масива 
	mas = new double [N*M]; // Резервирование памяти для динамического массива
	
	// Заполнение массива
	for (i=0;i<N;i++)	
	   	   for (j=0;j<M;j++)
				*(mas+i*M+j)=rand()%200-100;
	

	// Вывод заполненого массива на экран
	for (i=0;i<N;i++)	
	   	   {
			for (j=0;j<M;j++)
				{
				cout<<*(mas+i*M+j)<<"\t";
				}
			cout<<"\n";
			}

	// находим отрицательные элементы массива и если элемент меньше нуля то умножается на -1 (получается положительный)
		for (i=0;i<N;i++)	
	   	   	for (j=0;j<M;j++)
				if (*(mas+i*M+j)<0)
					*(mas+i*M+j)=*(mas+i*M+j)*(-1);
				
			cout<<"\n";
	// Вывод массива
		for (i=0;i<N;i++)	
	   	   {
			   for (j=0;j<M;j++)
				{
				cout<<*(mas+i*M+j)<<"\t";
				}
			cout<<"\n";
			}

		delete [] mas; // Освобождение памяти
		getch();
}
серг вне форума Ответить с цитированием
Старый 08.12.2009, 09:58   #2
серг
Форумчанин
 
Регистрация: 02.11.2009
Сообщений: 179
По умолчанию

Код:
#include<stdio.h>                 
#include<conio.h>                      
#include<stdlib.h>
#include<clocale>

void main ()
{ 
void func (int)
{
setlocale(LC_ALL, "Russian");
int i;
int mas[20];
int *MAS=mas;
int ch=0;
int n=0;
{
   for (i=0;i<=19;i++)
   *(MAS+i)=rand()%100;
   {
     for (i=0;i<=19;i++)
     printf(" %d",*(MAS+i));
     printf("                      ");

   }
   for (i=0;i<=19;i++)
   if (*(MAS+i)%2==0)
   ch=ch++;
   else n=n++;
}
printf("Число четных элементов равно: %d",ch);
printf(" \n");
printf("Число нечетных элементов равно: %d",n);
getch();
}
}
вот так кажется это ведь не делается
серг вне форума Ответить с цитированием
Старый 08.12.2009, 10:20   #3
серг
Форумчанин
 
Регистрация: 02.11.2009
Сообщений: 179
По умолчанию

Код:
#include<stdio.h>                 
#include<conio.h>                      
#include<stdlib.h>
#include<clocale>

 main ()
{ 
setlocale(LC_ALL, "Russian");
char func (int i,
int mas[20],
int *MAS=mas,
int ch=0,
int n=0)
{
   {
   for (i=0;i<=19;i++)
   *(MAS+i)=rand()%100;
   {
     for (i=0;i<=19;i++)
     printf(" %d",*(MAS+i));
     printf("                      ");

   }
   for (i=0;i<=19;i++)
   if (*(MAS+i)%2==0)
   ch=ch++;
   else n=n++;
   }
printf("Число четных элементов равно: %d",ch);
printf(" \n");
printf("Число нечетных элементов равно: %d",n);
getch();
}
}

или лучше так ???
серг вне форума Ответить с цитированием
Старый 08.12.2009, 10:25   #4
серг
Форумчанин
 
Регистрация: 02.11.2009
Сообщений: 179
По умолчанию

помогите пожалуйста получше понять принцип организования тела функции на первой программе
серг вне форума Ответить с цитированием
Старый 08.12.2009, 10:37   #5
серг
Форумчанин
 
Регистрация: 02.11.2009
Сообщений: 179
По умолчанию

Код:
#include<stdlib.h>
#include<clocale>

 main ()
{ 
setlocale(LC_ALL, "Russian");
char func1 (int i,int mas[20],int *MAS=mas)
   {
   for (i=0;i<=19;i++)
   *(MAS+i)=rand()%100;
   {
     for (i=0;i<=19;i++)
     printf(" %d",*(MAS+i));
     printf("                      ");

   }
   char func1 (int i,int mas[20],int *MAS=mas,int ch=0,n=0)
 {
   for (i=0;i<=19;i++)
   if (*(MAS+i)%2==0)
   ch=ch++;
   else n=n++;
  }
   }
printf("Число четных элементов равно: %d",ch);
printf(" \n");
printf("Число нечетных элементов равно: %d",n);
getch();
}
}

Последний раз редактировалось Stilet; 08.12.2009 в 12:03.
серг вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Добрые люди! Помогите исправить программу! Lifefine Общие вопросы C/C++ 5 08.12.2009 01:35
Люди добрые помогите!!!... Stas))) Помощь студентам 3 02.06.2007 20:07