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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 15.05.2012, 15:56   #1
Tolian92
Форумчанин
 
Регистрация: 31.10.2011
Сообщений: 118
По умолчанию исправьте программу на си

В матрице D(K,K), где K≤10, записать на место отрицательных элементов нули
и вывести ее на печать в общепринятом виде.


Код:
#include <stdio.h>
#include <conio.h>
#include <windows.h>
#include <stdlib.h>
#include <time.h>
 
int main()
{
    float n;
    int i,j;
    while(!fflush(stdin)&&printf("Raznernost(<=10)= ")&&!scanf("%f",&n));
    while(n>10 || n - (int)n!=0)
    {
        while(!fflush(stdin)&&printf("Raznernost(<=10)= ")&&!scanf("%f",&n));
    }
    int **math = (int**)malloc(n*sizeof(int));
    for (i = 0;i<n;i++)
    {
        math[i] = (int*)malloc(n*sizeof(int));
    }
    printf("\nMatrix1\n\n");
    srand(time(NULL));
    for(i=0;i<n;i++)
    {
        for(j=0;j<n;j++)
        {
            math[i][j]=(rand()%(10-(-10)+1))+(-10);;
            printf("%d ",math[i][j]);
        }
        printf("\n");
    }
    for(i=0;i<n;i++)
    {
        for(j=0;j<n;j++)
        {
            if(math[i][j]<0)
             {
                 math[i][j]=0;  
             }          
        }
    }
    printf("\nMatrix2\n\n");
    for(i=0;i<n;i++)
    {
        for(j=0;j<n;j++)
        {
            printf("%d ",math[i][j]);
        }
        printf("\n");
    }
    getch();
    return 0;
}

Последний раз редактировалось Tolian92; 15.05.2012 в 19:33.
Tolian92 вне форума Ответить с цитированием
Старый 15.05.2012, 16:19   #2
Mandrivnyk
Software Developer
Участник клуба
 
Аватар для Mandrivnyk
 
Регистрация: 01.03.2011
Сообщений: 1,098
По умолчанию

А что должна программа делать -- нам самим догадываться, что ли?
Болтовня ничего не стоит. Покажите мне код. (c) Linus Torvalds
Помог ответ? -- Поставьте отзыв.
Выражения особой благодарности в рублевом эквиваленте отправлять сюда --> R269634919062
Mandrivnyk вне форума Ответить с цитированием
Старый 15.05.2012, 16:23   #3
Tolian92
Форумчанин
 
Регистрация: 31.10.2011
Сообщений: 118
По умолчанию

Цитата:
Сообщение от Mandrivnyk Посмотреть сообщение
А что должна программа делать -- нам самим догадываться, что ли?
В матрице D(K,K), где K≤10, записать на место отрицательных элементов нули
и вывести ее на печать в общепринятом виде.
Tolian92 вне форума Ответить с цитированием
Старый 15.05.2012, 19:33   #4
Tolian92
Форумчанин
 
Регистрация: 31.10.2011
Сообщений: 118
По умолчанию

напишите правильный код
Tolian92 вне форума Ответить с цитированием
Старый 15.05.2012, 20:16   #5
ACE Valery
Сама себе режиссер
Старожил
 
Аватар для ACE Valery
 
Регистрация: 27.04.2007
Сообщений: 3,365
По умолчанию

А в чем проблема?
Если я вас напрягаю или раздражаю, вы всегда можете забиться в угол и поплакать
ACE Valery вне форума Ответить с цитированием
Старый 15.05.2012, 22:55   #6
Tolian92
Форумчанин
 
Регистрация: 31.10.2011
Сообщений: 118
По умолчанию

Цитата:
Сообщение от ACE Valery Посмотреть сообщение
А в чем проблема?
у меня ошибка(
Tolian92 вне форума Ответить с цитированием
Старый 16.05.2012, 12:06   #7
ACE Valery
Сама себе режиссер
Старожил
 
Аватар для ACE Valery
 
Регистрация: 27.04.2007
Сообщений: 3,365
По умолчанию

о, Капитан Очевидность! Всем понятно, что у вас ошибка, иначе вопроса б не было. КАКАЯ ошибка? ГДЕ ошибка? Не понятно, кому ваша задача нужна - нам или вам? Так потрудитесь дать все сведения, которые нужны для того, чтобы помочь вам.
Если я вас напрягаю или раздражаю, вы всегда можете забиться в угол и поплакать
ACE Valery вне форума Ответить с цитированием
Старый 16.05.2012, 12:32   #8
Петррр
Форумчанин
 
Аватар для Петррр
 
Регистрация: 02.09.2011
Сообщений: 336
По умолчанию

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

void fill_row(int * ptr, size_t size, int min, int max) {
	while (size--)
		*ptr++ = rand() % (max + abs(min) + 1) + min;
}

void fill_matrix(int ** matrix, size_t rows, size_t columns, int min, int max) {
	while (rows--) 
		fill_row(*matrix++, columns, min, max);
}

void dump_row(int * ptr, size_t size, size_t field_size) {
	while (size--) 
		printf("%*d%c", field_size, *ptr++, (size ? ' ' : '\n'));
}

void dump_matrix(int ** matrix, size_t rows, size_t columns, size_t field_size) { 
	while (rows--)
		dump_row(*matrix++, columns, 4);
}

int main(void) {
	int ** matrix;
	size_t size;
	int i, j;
	while ( !fflush(stdin) && printf("Size: ") && scanf("%d", &size) && size > 10 )
		;
	matrix = (int**) malloc(sizeof(int*) * size);
	for(i = 0; i < size; i++)
		matrix[i] = (int*) malloc(sizeof(int) * size);
	
	puts("Before:");
	fill_matrix(matrix, size, size, -10, 10);
	dump_matrix(matrix, size, size, 4);
	for(i = 0; i < size; i++)
		for(j = 0; j < size; j++)
			matrix[i][j] = matrix[i][j] < 0 ? 0 : matrix[i][j];
	puts("After: ");
	dump_matrix(matrix, size, size, 4);
	for(i = 0; i < size; i++)
		free(matrix[i]);
	free(matrix);
	return 0;
}
Если ты не можешь найти то, ради чего стоит жить, лучше найти то, за что стоит умереть
Петррр вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Исправьте программу Student30 Паскаль, Turbo Pascal, PascalABC.NET 2 21.09.2010 19:19
Исправьте программу в паскале. Figushkin Помощь студентам 4 26.05.2010 17:14
Исправьте пожалуйста программу Алексей_xXx Помощь студентам 2 29.05.2009 05:11
проверьте программу плиз и исправьте что там не так Gronex Помощь студентам 3 21.05.2009 17:01
Исправьте программу плиз! Турбопаскаль. maxiswell Помощь студентам 2 08.01.2009 18:21