Форум программистов, компьютерный форум CyberForum.ru

Найти строку, содержащую наибольший элемент матрицы и заменить все отрицательные элементы этой строки числом 0 - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Что почитать по C++, связанное с графикой? http://www.cyberforum.ru/cpp-beginners/thread514322.html
Я на данный момент прочитал половину книги по с++ Шилдта. Вот думаю что еще почитать, хотелось бы что-нибудь связанное с графикой(OpenGl,Directx3D) или что-то уже связанное с созданием полноценных приложений.
C++ Удаление строки Помогите удалить строку из текстового файла с последующим сдвигом всех строк, находящихся ниже, на 1 вверх. Заранее спасибо. http://www.cyberforum.ru/cpp-beginners/thread514320.html
C++ Определить площадь поверхности цилиндра
хранилище для сырья имеет вид цилиндра, заканчивающегося полусферой. определить площадь поверхности если заданы размеры
memory leak или "ОС подчистит" (Знакомство с Modern C++ Design\Loki Александреску приветствуется) C++
Доброго времени суток, уважаемые. Возможно мой вопрос покажется вам несколько странным, однако мне бы хотелось внести у себя в голове некую ясность. Копаю синглтоны у Александреску. А заодно смотрю код либы Loki http://loki-lib.cvs.sourceforge.net/loki-lib/loki/include/loki/Singleton.h?view=markup там на 516-той строчке объявлена интересная стратегия контроля продолжительности жизни,...
C++ При вводе имени сообщить, что есть такое имя http://www.cyberforum.ru/cpp-beginners/thread514290.html
Хочу написать программу, при вводе имени(например Katy), должно вывестись что есть такое имя. Что не так? #include <iostream> using namespace std; int main() { setlocale (0,"Russian"); char x; cout<<"Введите имя:"<<endl; cin>>x; if (x=='Katy')
C++ Обработка множеств Написать программу, реализующую обработку нескольких массивов структур (до 5 массивов по 10 элементов) по примеру множеств. В качестве элемента массива использовать структуру: Ж/д билет i. Номер (ключ) ii. Станция отправления iii. Станция назначения iv. Дата/время отправления v. Дата/время прибытия Предусмотреть заполнение массивов из файлов (подготовить 5 файлов на 10 элементов каждый).... подробнее

Показать сообщение отдельно
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
08.03.2012, 17:10     Найти строку, содержащую наибольший элемент матрицы и заменить все отрицательные элементы этой строки числом 0
проверяйте:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
#include <locale.h>
#include <malloc.h>
#include <conio.h>
#include <Windows.h>
#define matrix(i,j)(*(matriza+i*m+j))
 
 
int _tmain(int argc, _TCHAR* argv[])
{ 
 char input_file[81], output_file[81];
 int j,i,n,m,k,f,i_max=0,j_max=0;
 int*matriza;
 FILE * fp,*fp1;
 setlocale(LC_ALL,"rus");
 printf("\n введите имя файла:");
 scanf("%s",input_file);//1.dat
 if((fp=fopen(input_file,"r"))==NULL)
 { printf("\n Файл не найден");
   return -1;
 } 
  k=fscanf(fp,"%d%d",&n,&m);
  if(k!=2)
  { printf("\n Неправильный формат файла");
  fclose(fp);
  return -1;
  }
  if((matriza=(int*)malloc(n*m*sizeof(int)))==NULL)
  { printf("\n Нехватает памяти");
  fclose(fp);
  return -1;
  } printf("\n Матрица в файле:");
  printf("\n  n=%d,m=%d",n,m);
  for (i=0;i<n;i++)
   {
      printf("\n");
    for(j=0;j<m;j++)
        { k=fscanf(fp,"%d",&f);
         if(k!=1)
         {
          printf("\n Неправильный формат файла");
          fclose(fp);
          free((void*)matriza);
          return -1 ;
         }
         printf("%d ",f);
         matrix(i,j)=f;
        }
  }
   
  
fclose (fp);
printf("\n");
printf("\n Для продолжения нажмите любую клавишу");
 for(i=0; i<n; i++)
        for(j=0; j<m; j++)
                if(matrix(i,j)>matrix(i_max,j_max))
                {
                        i_max=i; j_max=j;
                }
for(i=0; i<m; i++)
        if(matrix(i_max,i)<0)
                matrix(i_max,i)=0;
 
printf("\n Преобразованная матрица\n");
 for(i=0; i<n; i++)
 {
        for(j=0; j<m; j++)
            printf("%d ", matrix(i, j));
        printf("\n");
 }
_getch();
return 0;
}
 
Текущее время: 13:27. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru