Перемешивание строк в массиве - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Не могу разобраться, почему прога работает косячно Программа получает из файла строки, записывает их в массив, массив перемешивает, записывает результат в файл. Результат работы: Код программы:
#include <stdio.h>
#include <time.h>
 main() {
 int i=0,random,N=7;
 char base[N][1000],buf[1000],end[N][1000];
 FILE *fo,*fi;
 srand(time(NULL));
 fo=fopen( "in.txt", "r"); 
 while (!feof(fo)){ // загоняю файл в массив
             fscanf(fo,"%s",base[i]);
       i++;
       }
fclose(fo);
 
i=0;
while (N>0){
 random=0+rand()%N;     
while (base[random][i]!=0){ // перемешиваю
      buf[i]=base[random][i];
      base[random][i]=base[N-1][i];
      base[N-1][i]=buf[i];
      i++;
      }
      i=0;
N--;
}
 
fi=fopen( "out.txt", "w"); 
i=0;N=7;
while (i<N){ // загоняю массив в файл
             fprintf(fi,"%s\n",base[i]);
       i++;
       }
fclose(fi);
getchar();
}
Помогите понять где косяк. Хочу предупредить, что указателями пользоваться не умею.пока что.

Решение задачи: «Перемешивание строк в массиве»

textual
Листинг программы
char* strcpy(char * dest, const char * src)
{
  char* result = dest;
  if((NULL != dest) && (NULL != src))
  {
    while (NULL != *src)
    {
      *dest++ = *src++;
    }
    *dest_ptr = NULL;
  }
  return strresult;
 
}/

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 3.5 из 5
Похожие ответы