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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.10.2009, 19:55   #1
Darh
Пользователь
 
Регистрация: 13.09.2009
Сообщений: 75
По умолчанию Двумерный массив на С

Здравствуйте, поправьте пожалуйста код.
Задание: создать массив из 20 случайных элементов в виде матрицы, найти кол-во четных и нечетных элементов в каждой строке.
У меня выводит матрицу, выводит сообщения о кол-вах четных и нечетных элементах, но по первой строке считает правильно, а остальные нет.

Код:
#include "stdafx.h"
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <conio.h>

void main()
{
	int a[4][5];
	int i,j;
	int s_ch= 0;	
	int s_nch= 0;	
	srand(time(NULL));
	for(i=0;i<4;i++)
	{
		for(j=0;j<5;j++)
		{
			a[i][j] = rand()%100;
			printf("%i ",a[i][j]);
		}
		printf("\n");
	}
		for(i=0;i<4;i++)
	{
		for(j=0;j<5;j++)
		{
			if (a[i][j]%2)
			++ s_nch;
		else ++ s_ch;
		}
	printf ("\nChetnih \t: %d"  ,s_ch );
	printf ("\nNechetnih \t: %d",s_nch);
	printf("\n");
		}
		getch ();
}
Darh вне форума Ответить с цитированием
Старый 08.10.2009, 20:04   #2
netrino
Участник клуба
 
Аватар для netrino
 
Регистрация: 15.07.2008
Сообщений: 1,933
По умолчанию

Вы в цикле забываете обнулять s_ch и s_nch, таким образом они постоянно наращиваются, что и есть корнем всех проблем...
Код:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <conio.h>

void main()
{
	int a[4][5];
	int i,j;
	int s_ch= 0;	
	int s_nch= 0;	
	srand(time(NULL));
	for(i=0;i<4;i++)
	{
		for(j=0;j<5;j++)
		{
			a[i][j] = rand()%100;
			printf("%i ",a[i][j]);
		}
		printf("\n");
	}
	for(i=0;i<4;i++)
	{
		for(j=0;j<5;j++)
		{
			if (a[i][j]%2)
				++s_nch;
			else
				++s_ch;
		}
		printf ("\nChetnih \t: %d"  ,s_ch );
		printf ("\nNechetnih \t: %d",s_nch);
		printf("\n");
		s_ch = 0;
		s_nch = 0;
	}
		getch ();
}
netrino вне форума Ответить с цитированием
Старый 08.10.2009, 20:20   #3
Darh
Пользователь
 
Регистрация: 13.09.2009
Сообщений: 75
По умолчанию

Ааа, понятно. Все работает, большое спасибо!
Darh вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Двумерный массив Лоя Помощь студентам 10 20.04.2009 19:56
Двумерный массив. kGxDD Паскаль, Turbo Pascal, PascalABC.NET 0 15.04.2009 21:43
Двумерный массив!!! hoangvu2005 Помощь студентам 2 17.02.2009 21:50
Двумерный массив Wi1D Помощь студентам 12 10.12.2008 00:55
Двумерный массив... slim5 Помощь студентам 2 20.06.2008 23:16