Скачать презентацию include iostream include stdio h int main setlocale LC_ALL RUS Скачать презентацию include iostream include stdio h int main setlocale LC_ALL RUS

семинар 3_ Си 2013.ppt

  • Количество слайдов: 10

#include<iostream> #include<stdio. h> int main() { setlocale(LC_ALL, “RUS”); int n, m, m 1, m #include #include int main() { setlocale(LC_ALL, “RUS”); int n, m, m 1, m 2, i = 0, k, j, i 1, j 1, b; bool f = 1; int a[20]; printf(“Кол-во строк: ”); scanf(“%d”, &n); // n = printf(“Кол-во столбцов: ”); scanf (“%d”, &m); // m = printf(“Введите элементы матрицы : ”); for (i = 0; i < n; i++) for(j = 0; j < m; j++) scanf(“%d”, (*(a+i)+j));

m 1 = n*m-1; while(f) { f = i = j = 0; m m 1 = n*m-1; while(f) { f = i = j = 0; m 2 = m 1; for (k = 0; k < m 2; k++) { if (j == m-1) { i 1 = i + 1; j 1 = 0; } else { j 1 = j +1; i 1 = i; }

if (a[i][j] > a[i 1][j 1]) { b = a[i][j]; a[i][j] = a[i 1][j if (a[i][j] > a[i 1][j 1]) { b = a[i][j]; a[i][j] = a[i 1][j 1]; a[i 1][j 1] = b; f = 1; m 1 = k; } i = i 1; j = j 1; } } for ( i = 0; i < n; i++) { printf(“n”); for (j = 0; i < m; j++) printdf(“%7 d”, *(*(a+i)+j)); } return 0; }

#include <stdio. h> #include <iostream> using namespace std; int main() { setlocale(LC_ALL, “RUS”); int #include #include using namespace std; int main() { setlocale(LC_ALL, “RUS”); int a[20], na, *u 1, *u 2, *t, c; cout<<“Введите длину массива na<=20”; cin>>na; cout<<“Введите массив из ”<>*t;

for (t=a, u 1=u 2=NULL; t<a+na; t++) f (*t%2!=0) if (u 1==NULL) u 1=t; for (t=a, u 1=u 2=NULL; t

Задача 2. В матрице A[0: n-1, 0: m-1] поменять местами два наименьших элемента с Задача 2. В матрице A[0: n-1, 0: m-1] поменять местами два наименьших элемента с использованием указателей. u 1 1 -2 3 -3 -6 0 -4 -2 U 2 Пунктирные стрелки показывают расположение указателей после обработки первых двух элементов матрицы. u 1 указывает на минимальный элемент матрицы u 2 - на минимальный из всех, кроме *u 1 В начале u 1=u 2=NULL Если нет u 1, ставим его на текущий элемент матрицы. Если нет u 2, ставим его на текущий элемент. На каждом шаге сравниваем текущий элемент и *u 2. Если текущий меньше, меняем u 2. При необходимости меняем указатели местами.

Напомним, что при формировании матрицы в памяти компьютера хранятся следующие данные: 0 1 … Напомним, что при формировании матрицы в памяти компьютера хранятся следующие данные: 0 1 … 19 0 1 … b int b[10][20]. Обращение к элементу b[i][j] *(b[i]+j) *(*(b+i)+j) 9 **int int При статическом выделении памяти для матрицы ее строки хранятся последовательно: 0 1 … 0 -я строка 19 20 … 39 … 1 -я строка

#include<stdio. h> #include<iostream> using namespace std; int main() { setlocale(LC_ALL, ”RUS”); int a[20], *u #include #include using namespace std; int main() { setlocale(LC_ALL, ”RUS”); int a[20], *u 1, *u 2, *t, n, m, j, i, c; cout<< “ Введите n: ”; cin>>n; cout<<“Введите m: ”; cin>>m; cout<<“ Введите матрицу ”<

for(i=0; i<n; i++) for(j=0; j<m; j++) cin>>a[i][j]; u 1=u 2=NULL; for(i=0; i<n; i++) for(j=0; for(i=0; i>a[i][j]; u 1=u 2=NULL; for(i=0; i

if(!u 2||*u 1==*u 2) cout<<“Нет обмена”; else { c=*u 1; *u 1=*u 2; *u if(!u 2||*u 1==*u 2) cout<<“Нет обмена”; else { c=*u 1; *u 1=*u 2; *u 2=c; cout<<“Новая матрица”<