то второе число получается 0. Да и выдаёт ещё предупреждение: Предупреждение: 1warning C4552: !=: оператор не имеет результата; требуется оператор с побочным действием
Сообщение отредактировал sem6666 - Воскресенье, 25 Ноября 2012, 13:58
int A[8]={2,-3,5,7,-1,0,9,2}; int main () { int min1=A[9]; int i; for (i=1; i<8; i++) if (min1>A[i]) min1=A[i]; printf("Min elements=%d\n", min1); return 0; }
И вот задание, модифицировать его, чтоб найти не одно наименьшее, а два. Добавляю:
Code
int A[8]={2,-3,5,7,-1,0,9,2}; int main () { int min1=A[9]; int min2=A[9]; int i,j; for (i=1; i<8; i++) if (min1>A[i]) min1=A[i]; { for (j=1; j<8; j++) if (min2>A[j]) min2=A[j]; printf("Min elements=%d\t%d\n", min1, min2); return 0;} }
А вот как сделать чтоб второй минимум выдавал, так и не пойму. Так равные получаются.
Сообщение отредактировал sem6666 - Суббота, 24 Ноября 2012, 15:48
В том то и дело, что надо сделать основываясь на том коде. Так как препод сказал, если будет использоваться что то что идёт после третьей главы книги, просто завалит на зачёте. А arr и cout, это с пятой главы примерно. Книга Керниган Б.,Ритчи Д. Программирование на C (2-е издание, 2009). Есть как раз по упорядочению код
#include "stdafx.h" #include <stdio.h>
int A[8]={-1,0,3,-4,5,7,9,2}; int main () { int v,i,j; for (i=0; i<7; i++) for (j=0; j<7; j++) if (A[j]>A[j+1]){ v=A[j]; A[j]=A[j+1]; A[j+1]=v; } for (i=0; i<8; i++) printf ("%d\t", A[i]); printf ("\n"); return 0; }
Но само задание на нахождение двух наименьших чисел.
int A[8]={2,-3,5,7,-1,0,9,2}; int main () { int min1=A[9]; int min2=A[9]; int i; for (i=1; i<8; i++) if (min1>A[i]) min1=A[i]; for (i=1; i<8; i++) if (min2>A[i]) min2=A[i]; printf("Min elements=%d\t%d\n", min1, min2); return 0; }
Извините конечно, но еслиб сам мог, то не просил помощи. Надо помочь человеку. У неё зачёт на следующей неделе. Сам в си не разбираюсь. Только в паскале чуть.
Есть четыре задачи: 1. Вводится последовательность из n целых чисел. найти два наименьших числа; 2. Дан массив A размера N. Найти: минимальный элемент из его элементов с четными номерами: A2, A4, A6, … ; 3. Дан одномерный массив, состоящий из n вещественных элементов: Преобразовать таким образом, чтобы сначала располагались все элементы, целая часть которых, лежит в интервале [a,b], а потом – все остальные 4. Дана целочисленная матрица, состоящая из n строк и m столбцов. Найти матрицу, получающуюся из данной перестановкой столбцов - первого с последним, второго с предпоследним и т.д. Пожалуйста, помогите решить их. Нужно чтоб написано было на C++ на Visual Studio 2008.
Сообщение отредактировал sem6666 - Среда, 21 Ноября 2012, 21:43