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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 07.12.2009, 23:02   #1
серг
Форумчанин
 
Регистрация: 02.11.2009
Сообщений: 179
Восклицание функции в С++

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

№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();
}
подскажите пожалуйста как это правильно делается
серг вне форума Ответить с цитированием
Старый 12.12.2009, 19:00   #2
osichev
Форумчанин
 
Регистрация: 18.05.2009
Сообщений: 180
По умолчанию

Код:
void main ()
{
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++; } 
   else
     if (*(MAS+i)%2!=0){
   n++;}
    }

      printf("\n");
printf("Число нечетных элементов равно: %d",n); 
   printf("\n");
printf("Число четных элементов равно: %d",ch);
}
Программист без пива, как спирт без пробки - выдохнется___________-
osichev вне форума Ответить с цитированием
Старый 12.12.2009, 19:02   #3
osichev
Форумчанин
 
Регистрация: 18.05.2009
Сообщений: 180
По умолчанию

Код:
void 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";
			}

		free(mas); // Освобождение памяти

}
Программист без пива, как спирт без пробки - выдохнется___________-
osichev вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Чем отличается описание функции от определения функции в С++? Go6a Помощь студентам 4 18.07.2009 18:07
C++ функции KOLYTFR Помощь студентам 1 27.04.2009 09:33
Функции. Передача массива в качестве параметра функции. Wia Помощь студентам 2 17.03.2009 14:57
Функции Vinni_puh Microsoft Office Excel 1 20.12.2007 05:51
Функции furian Общие вопросы C/C++ 3 18.12.2007 12:48